首先看一下jdk api文档,Integer包装类的两个构造函数:
Integer(int value) :构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s) :构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
构造函数差别不是很大,不管传入的是int类型还是String类型,都会包装成Integer类型,用的时候可以parseInt也可以toString;
在看看两句输出语句:1,==是运算符,在对象上使用时表示比较的是两个对象的地址是否一样?由于x,y都new了对象,所以地址不一样,返回false;
2,equals,这个是Object类的方法,但是Integer类把Object类的equals方法覆盖了,形式是:
boolean equals(Object obj) :比较此对象与指定对象。就是比较两个对象保存的内容是否相同,x.equals(y),应该返回true;
不知道对不对啊,我没运行你的代码,结果是根据我已有的知识作为回答的,这里我建议你遇到问题时,首先想到的应该是查阅JDK API文档,我认为这是学Java最好的资料了,呵呵呵 |