Java 反射 Array动态创建数组
Java 反射 Array动态创建数组
@author ixenos
注:java.lang.reflect.Array 是个反射工具包,全是静态方法,创建数组以多维数组为基准,一维数组只是特殊实现
创建一个具有指定的组件类型和长度的新数组(一维数组)
newInstance
public static Object newInstance(Class<?> componentType,
int length)
throws NegativeArraySizeException
- 创建一个具有指定的组件类型和长度的新数组。调用此方法等效于创建如下数组:
-
int[] x = {length}; //创建数组以多维数组为基准,一维数组只是特殊实现
Array.newInstance(componentType, x); -
- 参数:
componentType- 表示新数组的组件类型的Class对象length- 新数组的长度- 返回:
- 新数组
- 抛出:
NullPointerException- 如果指定的componentType参数为 nullIllegalArgumentException- 如果 componentType 为Void.TYPENegativeArraySizeException- 如果指定的length为负
创建一个具有指定的组件类型和维度的新数组(多维数组)
newInstance
public static Object newInstance(Class<?> componentType,
int... dimensions)
throws IllegalArgumentException,
NegativeArraySizeException
- 创建一个具有指定的组件类型和维度的新数组。
- 如果
componentType表示一个非数组类或接口,则新数组具有dimensions.length维度,并且将componentType作为其组件类型。 - 如果
componentType表示一个数组类,则新数组的维数等于dimensions.length和componentType的维数的总和。在这种情况下,新数组的组件类型为componentType的组件类型。新数组的维数不能超过该实现所支持的数组维数(通常为 255)。
-
- 参数:
componentType- 表示新数组的组件类型的Class对象dimensions- 表示新数组维度的int数组- 返回:
- 新数组
- 抛出:
NullPointerException- 如果指定的componentType参数为 nullIllegalArgumentException- 如果指定的dimensions参数是一个零维度的数组,或者所请求的维数超过了该实现所支持的数组维数的限制(通常为 225),或者度的数组,或者所请求的维数超过了该实现所支持的数组维数的限制(通常为 225),或者 componentType 为Void.TYPE。NegativeArraySizeException- 如果指定的dimensions参数中的任意组件为负。
创建多维数组示例:
//get(Object array, int index) 返回指定数组对象中索引组件的值
//setInt(Object array, int index, int i) 将指定数组对象中索引组件的值设置为指定的 int 值。

Java 反射 Array动态创建数组的更多相关文章
- java反射实现动态代理
参考:http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html http://my.oschina.net/lyp3314/b ...
- Java 反射 设计模式 动态代理机制详解 [ 转载 ]
Java 反射 设计模式 动态代理机制详解 [ 转载 ] @author 亦山 原文链接:http://blog.csdn.net/luanlouis/article/details/24589193 ...
- java反射Array的使用
1.什么是Array Array是一个类的简写,全限定类名是java.lang.reflect.Array. 2.Array有什么用 Array可以代表所有的数组,可以通过Array动态创建与修改里面 ...
- Android JNI编程(五)——C语言的静态内存分配、动态内存分配、动态创建数组
版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 一:什么是静态内存什么又是动态内存呢? 静态内存:是指在程序开始运行时由编译 ...
- C# 通过反射来动态创建泛型类型
C# 通过反射来动态创建泛型类型与创建普通类型的区别在于:泛型参数的处理 创建泛型类型存在三种情况: 第一种:知道泛型类型,但需要动态指定泛型参数: 第二种:知道泛型参数,但需要动态创建指定参数的泛型 ...
- Java反射和动态代理
Java反射 反射机制 RTTI 编译器在编译时打开和检查*.class文件 反射机制 运行时打开和检查*.class文件 Java反射常见的方法 java反射的应用 setAccessible(bo ...
- 使用Array和[]创建数组的区别
原文 简书原文:https://www.jianshu.com/p/57a337d20aea 大纲 前言 对使用Array和[]创建数组的区别的解释 个人理解 前言 JS定义数组变量时,在不需要给定数 ...
- Java反射04 : 通过Array动态创建和访问Java数组
java.lang.reflect.Array类提供了通过静态方法来动态创建和访问Java数组的操作. 本文转载自:https://blog.csdn.net/hanchao5272/article/ ...
- Java使用Array类创建多维数组
1.创建一维数组 import java.lang.reflect.Array; public class ArrayTest { public static void main(String[] a ...
随机推荐
- Vim编辑器与Shell命令脚本
章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if. ...
- AndroidAsyncHttp 临时修复 JsonHttpResponseHandler 避免死循环
由于 AndroidAsyncHttp 1.4.4 的 JsonHttpResponseHandler 存在死循环的 BUG,1.4.5 版本发布不知道要何时,所以只能临时替换该类来修复这个错误. ...
- html和html5学习
html和html5学习 chorme.safari中的input或textarea html超链接(a)详细讲解 html5新增及删除标签 html表格 图片加alt属性 input的type属性 ...
- HNTX_PC 代码总结
记录一些 汇农 PC 端的代码 CSS 部分 1. 小三角 源自: 司徒正美 Sass >> JS 部分 1. 限制文本内容溢出 2. 固定右侧宽度 4. 用 iframe 加载的页面 C ...
- java web开发环境搭建:jdk1.8+eclipse+tomcat8.0
一.安装JDK 1.下载jdk-8-windows-i586.exe 2.双击安装(可以将安装路径选择到自己喜欢的地方) 3.配置环境变量 1.我的电脑->2.右键单击-> 然后将%JAV ...
- Java 并发 线程属性
Java 并发 线程属性 @author ixenos 线程优先级 1.每当线程调度器有机会选择新线程时,首先选择具有较高优先级的线程 2.默认情况下,一个线程继承它的父线程的优先级 当在一个运行的线 ...
- hdu 2829 Lawrence(斜率优化DP)
题目链接:hdu 2829 Lawrence 题意: 在一条直线型的铁路上,每个站点有各自的权重num[i],每一段铁路(边)的权重(题目上说是战略价值什么的好像)是能经过这条边的所有站点的乘积之和. ...
- Chapter 17_1 弱引用table
Lua采用了自动内存管理.所以不用担心新创建的对象需要的内存如何分配出来,也不用考虑对象不再被使用后怎样释放它们所占用的内存. Lua实现了一个增量标记-扫描收集器.它使用这两个数字来控制垃圾收集循环 ...
- Ansible hostvars
1. inventory hosts file 中的server 变量会覆盖group变量. hostvars: { "iaas_name": "test", ...
- NSRange:NSMakeRange
NSRange:NSMakeRange(6, cardNo.length - 10) [cardNo stringByReplacingCharactersInRange:NSMakeRange(6, ...