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 ...
随机推荐
- git 基本用法
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "Helvetica Neue"; color: #454545 } p. ...
- glib实践篇:父类与子类
前言: 众所周知,C语言是一门面向过程的语言,但是不代表就得跟面向对象完全绝缘,在C语言库glib中有gobject那么一套面向对象的机制,基于C语言的面向对象设计便是基于该实现机制. 今天所要实践的 ...
- java MD5 加密
使用javaMD5.jar ========================================== 使用java的security类 ========================== ...
- 曾经让我很吐血的Bug(初学者)
1.MSSql 就是 sql Server. 2.用session的时候一定要先实现接口IRequiresSessionState: 3.form表单中type=file传送文件的时候一定要在form ...
- [Q]关于不同比例、不同纸张大小图纸的批量打印
不同比例或不同纸张大小的图纸可以一起批量打印,但目前打图精灵不能自动识别纸张大小,纸张大小是手动指定的,且只能指定一种纸张大小,但设置打印比例为“缩放到可打印区域”或“缩放到纸张边界”仍然可以将不同比 ...
- schemes-universalLink-share_IOS-android-WeChat-chunleiDemo
schemes-universalLink-share_IOS-android-WeChat-chunleiDemo The mobile terminal share page start APP ...
- 安装 zabbix 时遇到的一个问题
安装 zabbix 2.0.3,到最后阶段,遇到一个问题: PHP bcmath extension missing, php configuration parameter --enable-bc ...
- Vrui 增加自定义事件
#include <Vrui/Application.h> #include <GL/GLObject.h> #include <Vrui/Vrui.h> #inc ...
- C# 语言规范_版本5.0 (第16章 异常)
1. 异常 C# 中的异常用于处理系统级和应用程序级的错误状态,它是一种结构化的.统一的和类型安全的处理机制.C# 中的异常机制非常类似于 C++ 的异常机制,但是有一些重要的区别: 在 C# 中,所 ...
- js 遍历json
JSON数据如:{"options":"[{/"text/":/"王家湾/",/"value/":/" ...