代码:
import java.lang.reflect.Method;
public class Demo2 {
public static void main(String[] args) {
Class class1 = String.class;
try {
Method d1 = class1.getDeclaredMethod("lastIndexOf", Integer.class);
System.out.println(d1.toString());
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行结果如下:
将代码改成下面这样
import java.lang.reflect.Method;
public class Demo2 {
public static void main(String[] args) {
Class class1 = String.class;
try {
Method d1 = class1.getDeclaredMethod("lastIndexOf", Integer.TYPE);
System.out.println(d1.toString());
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行结果如下:
问题:Integer.class与Integer.TYPE都是得到Integer的Class对象,上面这两段代码的结果为什么不一样呢?基本数据类型包装类的.class属性和.TYPE属性有什么区别?