`
zljpp
  • 浏览: 255365 次
社区版块
存档分类
最新评论

Java 之 Array 数组

    博客分类:
  • java
阅读更多

Java反射技术除了可以在运行时动态地决定要创建什么类型的对象,访问哪些成员变量,方法,还可以动态地创建各种不同类型,不同维度的数组。

动态创建数组的步骤如下:
1.创建Class对象,通过forName(String)方法指定数组元素的类型
2.调用Array.newInstance(Class, length_of_array)动态创建数组

访问动态数组元素的方法和通常有所不同,它的格式如下所示,注意该方法返回的是一个Object对象
Array.get(arrayObject, index)

为动态数组元素赋值的方法也和通常的不同,它的格式如下所示, 注意最后的一个参数必须是Object类型
Array.set(arrayObject, index, object)

动态数组Array不单可以创建一维数组,还可以创建多维数组。步骤如下:
1.定义一个整形数组:例如int[] dims= new int{5, 10, 15};指定一个三维数组
2.调用Array.newInstance(Class, dims);创建指定维数的数组

访问多维动态数组的方法和访问一维数组的方式没有什么大的不同,只不过要分多次来获取,每次取出的都是一个Object,直至最后一次,赋值也一样。

动态数组Array可以转化为普通的数组,例如:
Array arry = Array.newInstance(Integer.TYPE,5);
int arrayCast[] = (int[])array;

【2】示例代码
A. 一维数组:
public static void main(String args[]) throws Exception {
Class<?> classType = Class.forName("java.lang.String");
// 创建一个长度为10的字符串数组
Object array = Array.newInstance(classType, 10);
// 把索引位置为5的元素设为"hello"
Array.set(array, 5, "hello");
// 获得索引位置为5的元素的值
String s = (String) Array.get(array, 5);
System.out.println(s);
}

B. 多维数组:
public static void main(String args[]) {
int[] dims = new int[] { 5, 10, 15 };
// 创建一个具有指定的组件类型和维度的新数组。
Object array = Array.newInstance(Integer.TYPE, dims);

// 取出三维数组的第3行,为一个数组
Object arrayObj = Array.get(array, 3);
Class<?> cls = arrayObj.getClass().getComponentType();
System.out.println(cls);

// 取出第3行的第5列,为一个数组
arrayObj = Array.get(arrayObj, 5);
// 访问第3行第5列的第10个元素,为其赋值37
Array.setInt(arrayObj, 10, 37);

// 动态数组和普通数组的转换:强行转换成对等的数组
int arrayCast[][][] = (int[][][]) array;
System.out.println(arrayCast[3][5][10]);
}
分享到:
评论

相关推荐

    Java array 数组用法源码集.rar

    Java array 数组用法源码集,比如测试数组、划分成绩等级、从方法中返回数组、二分查找法、求二维数组的长度、锯齿数组、处理二维数组等,相信通过这些基础的数组操作实例,会对你了解Java中的数组有很好的帮助作用...

    java数组结构图

    对数组的总结和分析,通过这个结构记住它,在开发的过程中使用

    java关于数组(学习笔记)

    关于数组Array(学习笔记) 简介: 数组就是一个容器,可以同时容纳多个元素。意思是“一组数据”。 Java语言中的数组是一种引用数据类型。不属于基本数据类型,父类同样是Object类。因为是引用数据类型,所以数组的...

    Java中数组的各种应用

    java中数组的各种用法,工程中以代码的形式,例举java中数组的应用,对初学者有帮助,大鸟就不要看了

    java 数组(array).txt

    java 数组(array)

    java中数组的用法

    array用法

    Java基础之数组拷贝

    在java中,我们可以将一个数组变量直接拷贝给另一个数组变量。但拷贝后,两个数组变量引用的是同一个数组。若改变其中一个数组中的内容,另一个数组也会同时改变。 (注:如果想打印数组内的所有值,可以使用Arrays....

    java泛型数组

    泛型数组的创建

    Java数组与集合

    java数组与集合,主要内容包括笔记整理、小例子等等等,具体内容自个看

    javascript之Array 数组对象详解

    1、创建Array对象方法: —&gt;var arr = [element0, element1, …, ...//定义一个没有任何内容的数组对象,然后以下面的方式为其赋值 arr[0] = “arr0”; arr[1] = “arr1”; arr[2] = “arr2”; —&gt;new Array(size

    java数组遍历 删除remove(示例代码)

    java数组遍历 删除remove。需要的朋友可以过来参考下,希望对大家有所帮助

    逆序输出源数组中的元素

    先要创建一个新数组 newArray[],要求新数组中的元素与原数组逆序,并且如果原数组中的元素值小于0,在新数组中按0存储。试编程输出新数组 中的元素,程序运行结果如下: 原数组为:1,3,-1,5,-2 逆序并处理后的数组为...

    Java基础入门自学课件 第04章 数组(共25页).ppt

    Java基础入门自学课件 第04章 数组(共25页).ppt

    Java程序设计基础:一维数组应用数组作为方法返回值类型.pptx

    数组作为方法返回值类型 学习目标 1 理解方法返回值类型是数组 引用类型的方法签名; 2 理解并学会数组作为方法返 回值类型的方法编写; 3 理解并熟知数组作为返回值 类型的方法调用。 方法的返回值类型 方法的...

    Java程序设计基础:一维数组应用数组作为方法形参.pptx

    数组作为方法的形参 目录 课程导入 进一步熟悉方法的定义 学会编写方法,初始化数组 学会编写方法,输出数组元素 目录 课程导入 学会编写方法,求数组元素平均值 学会编写方法,实现数组元素逆序存储 理解数组作为...

    java数组的学习、代源,源码

    public class Array1 { /** * 数组的使用: 1.告诉计算机声明一个数组并制定数组中装的数据类型 2.告诉计算机要开辟几个空间来装数据 3.给开辟的每一个空间赋值 4.使用 */ public static void main(String[] ...

    Java_Arrays:用Java处理数组-包括用户输入

    Java_Arrays 用Java处理数组-包括用户输入该文件创建包装在菜单系统中的以下数组: TVShows-创建一个新的阵列列表,该列表允许用户根据需要进行多次打印,添加,查看和删除。 MySize Array-包含一个double-用户可以...

    javascript Array 数组常用方法

    Array.join()方法将数组中所有元素都转化为字符串并连接在一起,返回最后生成的字符串。可以自己指定分隔的符号,如果不指定,默认使用逗号 var arr = [1,2,3]; console.log(arr.join());//1,2,3 console.log(arr....

    Java实现的数组去重与排序操作详解

    主要介绍了Java实现的数组去重与排序操作,结合实例形式分析了Java针对数组去重及排序操作相关遍历、排序、判断等使用技巧与注意事项,需要的朋友可以参考下

    java-c语法8---数组---马克-to-win java视频

    java语法 数组 马克-to-win java视频 array 的详细介绍

Global site tag (gtag.js) - Google Analytics