java反射笔记四
来源:互联网 发布:苹果办公软件下载 编辑:程序博客网 时间:2024/06/05 19:35
数组的反射
类:java.lang.reflect.Array
利用数组的反射实现数组的可变长度
/** *按10%的速度增长 * @param array * @return */public static Object arrayGrow(Object array) {Class<?> clazz = array.getClass();if(!clazz.isArray()) {return null;}Class<?> componentType = clazz.getComponentType();int length = Array.getLength(array);int newLength = length * 11/10 + 10;Object newArray = Array.newInstance(componentType, newLength);System.arraycopy(array, 0, newArray, 0, length);return newArray;}
利用反射遍历数组元素
/** * 利用反射遍历数组 * @param array */public static void arrayPrint(Object array) {Class<?> clazz = array.getClass();if(!clazz.isArray()) {return;}Class<?> componentType = clazz.getComponentType();int length = Array.getLength(array);System.out.print(componentType + "[" + length + "] {");for(int x = 0; x < length; x++) {if(x == length-1) {System.out.print(Array.get(array, x));} else {System.out.print(Array.get(array, x) + ",");}}System.out.println("}");}
Array中部分API说明
static Object get(Object array, int index)
static xxx getXxx(Object array, int index)
返回指定位置上的数组的指定内容(xxx代表的是8中基本数据类型中的一种)
static int getLength(Object array)
返回数组的长度
static Object newInstance(Class<?> componentType, int length)
static Object newInstance(Class<?> componentType, int[] length)
返回一个给定维数,给定维数的新数组
0 0
- java反射笔记四
- 反射(四) 笔记
- java反射学习四
- java反射回顾<四>
- Java笔记----java反射
- Java反射机制总结四
- Java反射四 成员变量
- Java反射笔记1
- Java笔记---反射
- Java反射笔记一
- java反射笔记二
- java反射笔记三
- java反射笔记五
- java笔记(5)--反射
- Java反射机制 笔记
- java反射机制笔记
- Java 反射学习笔记
- java笔记-高新技术-反射
- 高精度运算——A mod B
- 3.2 python中的运算符 [python入门教程]
- OpenGL教程(待写)
- 寒假学习 第15天 (linux 高级编程) 笔记 总结
- CPP中climits头文件
- java反射笔记四
- Myeclipse10安装svn插件
- 数据结构-单链表
- Codeforces 382D Ksenia and Pawns(逆向dfs)
- Prime Cryptarithm
- Android-----WebView使用
- 给技术人上的管理课:控制和计划
- git使用快速上手
- 学习资料2 (输入)