/**
*@Package:laladin.learn
*@Project:javaLearn
*@Title:ReflectTest.java
*@Description:TODO
*@author Topdog topdog@163.com
*@date 2011-7-9下午06:09:27
*@version v1.0
*/
package laladin.learn;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
/**
* @ClassName:ReflectTest
* @Description TODO
* @date 2011-7-9
*/
public class ReflectTest {
/**
* @throws Exception
* @Title:main
* @Description:TODO
* @Param:@param args
* @Return:void
* @throws
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
int[] a1=new int[3];
int[] a2=new int[4];
int[][] a3=new int[2][3];
String[] a4=new String [4];
System.out.println(a1.getClass() == a2.getClass()); //相同维数,相同类型数组,字节码相等返回true
//System.out.println(a1.getClass() == a3.getClass()); //维数不同,类型相同 返回false
//System.out.println(a1.getClass() == a4.getClass()); //维数相同,类型不同 返回false
printObject(a4);
}
private static void printObject(Object obj){
Class clazz=obj.getClass();
if(clazz.isArray()){
System.out.println(Array.get(obj, 1));
}else{
System.out.println(obj);
}
}
本文通过一个具体的Java程序示例介绍了Java反射机制的基本用法。包括如何获取数组对象的类信息,以及如何判断不同数组类型的类是否相等。此外,还展示了如何通过反射打印出对象的信息。

1012

被折叠的 条评论
为什么被折叠?



