Java基础---反射Reflect-----Array
2016-03-12 00:00
399 查看
Array java.lang.reflect
1、反射中数组类型的Class名称
运行结果:
结论 : 三种叫法
"java.lang.String[]" style arrays
"[Ljava.lang.String;" style arrays
"[[I" or "[[Ljava.lang.String;" style arrays
2、Array类中方法
以上static方法用于反射中获取数组array指定索引index处的值,根据数组类型选择使用哪一个方法获取;
以上static方法用于改变数组array中索引位置为index的值为 value
获取数组array的长度
创建一个长度为length的componentType类型的数组
创建一个componentTyp类型的多维数组,数组每一维度的长度分别为... dimensions
Array类提供了动态创建和访问 Java 数组的方法;
1、反射中数组类型的Class名称
public class SubClass extends ParentClass { public static void main(String[] args) { try { String[] array = {}; System.out.println("一维数组 ----类型名称"+array.getClass().getName()); System.out.println("一维数组 ----权威名称"+array.getClass().getCanonicalName()); String[][] marray = {}; System.out.println("多维数组 ----类型名称"+marray.getClass().getName()); System.out.println("多维数组 ----权威名称"+marray.getClass().getCanonicalName()); } catch (Exception e) { e.printStackTrace(); } } }
运行结果:
一维数组 ----类型名称[Ljava.lang.String; 一维数组 ----权威名称java.lang.String[] 多维数组 ----类型名称[[Ljava.lang.String; 多维数组 ----权威名称java.lang.String[][]
结论 : 三种叫法
"java.lang.String[]" style arrays
"[Ljava.lang.String;" style arrays
"[[I" or "[[Ljava.lang.String;" style arrays
2、Array类中方法
public static Object get(Object array, int index) public static boolean getBoolean(Object array, int index) public static byte getByte(Object array,int index) public static char getChar(Object array,int index) public static short getShort(Object array, int index) public static int getInt(Object array,int index) public static long getLong(Object array,int index) public static float getFloat(Object array, int index)
以上static方法用于反射中获取数组array指定索引index处的值,根据数组类型选择使用哪一个方法获取;
public static void set(Object array,int index,Object value) public static void setBoolean(Object array,int index,boolean value) public static void setByte(Object array,int index,byte value) public static void setChar(Object array,int index,char value) public static void setShort(Object array,int index,short value) public static void setInt(Object array,int index,int value) public static void setLong(Object array,int index,long value) public static void setFloat(Object array,int index,float value) public static void setDouble(Object array,int index,double value)
以上static方法用于改变数组array中索引位置为index的值为 value
public class SubClass extends ParentClass { public static void main(String[] args) { try { String[] array = {"a","b"}; System.out.println("数组array的索引为1处的值---"+Array.get(array, 1)); Array.set(array, 1, "c"); System.out.println("数组array的索引为1处的值---"+Array.get(array, 1)); } catch (Exception e) { e.printStackTrace(); } } }
数组array的索引为1处的值---b 数组array的索引为1处的值---c
public static int getLength(Object array)
获取数组array的长度
public static Object newInstance(Class<?> componentType, int length)
创建一个长度为length的componentType类型的数组
public static Object newInstance(Class<?> componentType,int... dimensions)
创建一个componentTyp类型的多维数组,数组每一维度的长度分别为... dimensions
public static void main(String[] args) { try { String[][] string =(String[][]) Array.newInstance(String[].class, 2); System.out.println(string.length); String[][][] multistring = (String[][][]) Array.newInstance(String.class, 1,1,1); System.out.println(multistring.length);//第一维数组长度 System.out.println(multistring[0].length);//第二位数组长度 System.out.println(multistring[0][0].length);//第三位数组长度 } catch (Exception e) { e.printStackTrace(); } }
2 1 1 1
相关文章推荐
- 多线程环境下JDBC驱动加载导致线程阻塞问题的分析、解决和深入学习
- 利用Javadoc工具生成api文档
- Java class 编码
- Java单继承
- 深入理解Java之数据类型
- java内部类复习
- Java基础(环境设置,基础语法,函数数组)
- 20145320 《Java程序设计》第2周学习总结
- 开发维护一个大型Java项目的建议
- SpringMVC对Ajax的支持
- JAVA学习笔记01(增补)
- 【Java】ServerSocket的学习笔记
- Java习惯用法
- [转]World Wind Java开发之四——搭建本地WMS服务器
- java虚拟机类加载机制
- [转]World Wind Java开发之五——读取本地shp文件
- 二分图(Java)
- Rotate List | Java最短代码实现
- Java基础05-循环问题,数组
- struts2学习(一) 环境搭建以及简单的演示程序