原文链接
import java.lang.reflect.Array;
public class ArrayGrowTest {
public static void main(String[] args) {
int[] a = { 1, 2, 3 };
a = (int[]) goodArrayGrow(a);
arrayPrint(a);
String[] b = { "Tom", "Dick", "Harry" };
b = (String[]) goodArrayGrow(b);
arrayPrint(b);
System.out.println("The following call will generate an exception");
b = (String[]) badArrayGrow(b);
}
public static Object[] badArrayGrow(Object[] a) {
int newLength = a.length * 11 / 10 + 10;
Object[] newArray = new Object[newLength];
System.arraycopy(a, 0, newArray, 0, a.length);
return newArray;
}
public static Object goodArrayGrow(Object a) {
Class<?> c1 = a.getClass();
if (!c1.isArray()) {
return null;
}
Class<?> componentType = c1.getComponentType();
int length = Array.getLength(a);
int newLength = length * 11 / 10 + 10;
Object newArray = Array.newInstance(componentType, newLength);
System.arraycopy(a, 0, newArray, 0, length);
return newArray;
}
public static void arrayPrint(Object a) {
Class<?> c1 = a.getClass();
if (!c1.isArray()) {
return;
}
Class<?> componentType = c1.getComponentType();
int length = Array.getLength(a);
System.out.print(componentType.getName() + "[" + length + "]={ ");
for (int i = 0; i < Array.getLength(a); i++) {
System.out.print(Array.get(a, i) + ",");
}
System.out.println("}");
}
}
分享到:
相关推荐
学会编写方法,初始化数组 学会编写方法,输出数组元素 目录 课程导入 学会编写方法,求数组元素平均值 学会编写方法,实现数组元素逆序存储 理解数组作为方法形参,方法体内数组的使用 复习:方法定义的语法 数组...
数组作为方法返回值类型 学习目标 1 理解方法返回值类型是数组 引用类型的方法签名; 2 理解并学会数组作为方法返 回值类型的方法编写; 3 理解并熟知数组作为返回值 类型的方法调用。 方法的返回值类型 方法的...
java 反射中操作数组 java 反射中操作数组 java 反射中操作数组
Java语言编程 在方法中使用数组 Java语言编程 在方法中使用数组
通过java反射实现了建议计算器的可扩展性,适合新手对java反射机制的理解
在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[] arrays = new String[] { gyu, sdf, zf, 大同, 收到, 地方, 三等分, 的人, 反对高铁, 泛代数, 上的投入...
Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程实验4-数组Java程序设计课程...
主要介绍了Java实现字符数组全排列的方法,涉及Java针对字符数组的遍历及排序算法的实现技巧,需要的朋友可以参考下
本章主要介绍数组的概念及定义,并简单介绍了数组的引用传递,及数组的动态、静态初始化及二维数组的定义和使用。
java数组与方法数组的定义及使用
java中把对象转化为byte数组的方法.doc
java【第4章:数组与方法】_方法的声明及使用java
java反射全解(反射原理+反射API详解+反射与数组+反射与泛型+反射源码与性能开销+反射优缺点+反射与内省)
主要介绍了详解java中反射机制(含数组参数)的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下
java高端技术课程--Java数组如何实现复制java高端技术课程--Java数组如何实现复制java高端技术课程--Java数组如何实现复制java高端技术课程--Java数组如何实现复制
主要介绍了java实现二维数组转json的方法,涉及java数组遍历及json格式数据构造相关操作技巧,需要的朋友可以参考下
一个例子8个demo让你了解Java反射机制
Java反射 调用空参方法 调用Object类型参数的方法 调用基本类型参数的方法 调用基本类型数组参数的方法 调用String数组参数的方法 调用Object数组参数的方法 调用私有方法
附件内容为:Java组装map数据,然后转换为json数据格式;Java解析json数据
Java数组阶段的选择题、填空题、编程题、判断题都有,适合想自己测试下的学生以及准备出题的老师