数组反射的应用

import java.lang.reflect.Array;

public class ReflectTest

{

public static void main(String[] args)

{

int[] a1=new int[]{1,2,3};

/*

* 给的是数组

*/

printObject(a1);

/*

* 给的不是数组

*/

printObject("xcv");

}

private static void printObject(Object obj)

{

Class clazz=obj.getClass();

/*

* 判断获得的是数组,还是不是数组

*/

if(clazz.isArray())//获得的是数组

{

int len=Array.getLength(obj);//对数组反射:数组长度

/*

* 取出数组每一个元素

*/

for(int i=0;i<len;i++)

{

System.out.println(Array.get(obj, i));

}

}else{//获得的不是数组

System.out.println(obj);

}

}

}

时间: 2024-10-10 05:40:09

数组反射的应用的相关文章

Java 数组反射(Array Reflection)

1. 在不确定某个参数或对象是否是数组的时候,就可以使用发射机制,把该对象的Class对象传给Array.isArray(Class<?>) 方法进行判断.通过Class对象的 getComponentType() 方法可以进一步知道数组组件的具体类型,数组如果是多维的话可以递归调用Array.isArray: 2.Array.getLength(class)可以得到数组的大小: 3.可以运行时利用反射机制来创建某种类型的数组,利用 java.lang.reflect.Array.newIns

java数组反射实现动态的判断一个对象是否是数组并且对数组进行拆包输出

public static Map<String, String> maptoMapString(Map<String, ?> map) { return map.entrySet().stream().collect(Collectors.toMap( (entry) -> { return entry.getKey(); }, (entry) -> { if(entry.getValue().getClass().isArray()) { StringBuilder

反射认识_05_数组反射_打印

package ReflectionMethod; import java.lang.reflect.Array; public class ReflectionArrayPrint { public static void main(String[] args) { int[] a=new int[]{1,2,3}; printArray(a); } public static void printArray(Object obj) { Class cl=obj.getClass(); if(

java中数组的反射的探究

数组的反射有什么用呢?何时需要使用数组的反射呢?先来看下下面的代码: Integer[] nums = {1, 2, 3, 4}; Object[] objs = nums; //这里能自动的将Integer[]转成Object[] Object obj = nums; //Integer[]当然是一个Object int[] ids = {1, 2, 3, 4}; //Object[] objs2 = ids; //这里不能将int[]转换成Object[] Object obj2 = ids

JAVA进阶之旅(二)——认识Class类,反射的概念,Constructor,Fiald,Method,反射Main方法,数组的反射和实践

JAVA进阶之旅(二)--认识Class类,反射的概念,Constructor,Fiald,Method,反射Main方法,数组的反射和实践 我们继续聊JAVA,这次比较有意思,那就是反射了 一.认识Class类 想要反射,你就必须要了解一个类--Class,我们知道,java程序中的各个java类都属于同一事物,我们通常用Classliability描述对吧,反射这个概念从JDK1.2就出来了,历史算是比较悠久了,这个Class可不是关键字哦,这个是一个类,他代表的是一类事物: 我们归根结底就

Java 中反射机制的深入研究

昨天学习了java的反射机制,今天继续深入学习一下. 一.通过反射操作数组 反射不光只能用在类中,也可用在任意的引用数据类型上.当然包括数组. 通过java.lang.reflect.Array 类 可操作数组,java.lang.reflect.Array 类 下面提供了很多方法. 例如 public static Object get(Object array,int index)throws IllegalArgumentException,ArrayIndexOutOfBoundsExc

黑马程序员----Java高新技术之反射学习总结

------- android培训.java培训.期待与您交流! ---------- 反射的概念. 1.Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 精妙的总结就是:反射就是将Java类中的各个成分映射成相应的Java类. 3.在Java中,描述事物的各种类同样也是一种事物,也可以用面向对象的方法来描述,即也有一个类来描述众多的J

黑马程序员——【Java高新技术】——反射机制

---------- android培训.java培训.期待与您交流! ---------- 一.概述 1.Java反射机制:是指“在运行状态中”,对于任意一个类,都能够知道这个类中的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 2.Java反射机制主要提供了以下功能: (1)在运行时,判断任意一个对象所属的类 (2)在运行时,构造任意一个类的对象 (3)在运行时,判断任意一个类所具有的成员变量和方

反射技术基本知识总结

//JAVA反射的精妙总结:反射就是将JAVA类中的各个成分映射成相应的JAVA类 package Three11; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.io.*; import java.lang.reflect.Constructor; import java.lang.reflect.Field; impor