黑马程序员技术交流社区

标题: 反射初学问题 [打印本页]

作者: swqsljy    时间: 2013-12-19 22:40
标题: 反射初学问题
本帖最后由 swqsljy 于 2013-12-19 22:47 编辑

System.out.println(int.class==Integer.class);-----false
System.out.println(int.class==Integer.TYPE);-----true
为什么,能说说原理吗
另外:
String.class    new String().getClass()     Class.forName("java.lang.String")有何区别?

作者: 小骗子    时间: 2013-12-20 11:50
int 是基本类型、Integer是类。
所以int.class==Integer.class   flase\
而Integer.Type中包装了int的字节码
所以int.class==Integer.Type  true;

String.class    new String().getClass()     Class.forName("java.lang.String")有何区别?
没什么不同,都是在虚拟机中加载String的字节码。
但Class.forName()在反射中用的比较多(可以让参数成为一个变量)





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2