黑马程序员技术交流社区
标题:
Integer的问题
[打印本页]
作者:
公子-醉香
时间:
2013-12-14 21:31
标题:
Integer的问题
public class IntegerDemo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer x= new Integer("123");
Integer y=new Integer(123);
sop("x==y"+(x==y));
sop("x.equqls(y)"+x.equals(y));//在这里返回值为什么是true呢?
}
public static void sop(String str){
System.out.println(str);
}
}
复制代码
作者:
回音
时间:
2013-12-14 21:43
//Integer已经重载了equals方法,实现如下:
// public boolean equals(Object obj) {
// if (obj instanceof Integer) {
// return value == ((Integer)obj).intValue();
// }
// return false;
// }
//可以看出Integer的equals方法实际是执行内部intValue的比较,所以只要里面存放的值相等,就会返回true
作者:
冬天的热带鱼
时间:
2013-12-14 22:24
public boolean equals(Object obj)比较此对象与指定对象。当且仅当参数不为 null,并且是一个与该对象包含相同 int 值的 Integer 对象时,结果为 true。
覆盖:
类 Object 中的 equals
参数:
obj - 要比较的对象。
返回:
如果对象相同,则返回 true,否则返回 false。
作者:
末末
时间:
2013-12-14 23:12
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}这段代码是Integer覆写Object 类的,
intValue()是指 以 int 类型返回该 Integer 的值,所以比较不是对象的内存地址而是值
复制代码
作者:
还记得梦想吗
时间:
2013-12-15 03:09
本帖最后由 还记得梦想吗 于 2013-12-15 03:10 编辑
Integer("123"); 转化后 返回结果就是 int类型的数据 123 两者值相同 用equals 方法 比较其值是否相同 是 相同的 自然返回true用 == 比较 那么他们是不同的对象 在内存里面地址 不相同 所以 返回false
package com;
public class IntegerDemo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer x= new Integer("123");
Integer y=new Integer(123);
Integer y1=new Integer(123);
sop("x==y..."+(x==y));
sop("y==y1.."+(y==y1));
sop("x.equqls(y)...."+x.equals(y));
sop("y.equqls(y1)..."+y.equals(y1));
int num=Integer.valueOf("123");
System.out.println("num*2........."+num*2);
System.out.println("x*2........."+x*2);
System.out.println("y*2........."+y*2);
}
public static void sop(String str){
System.out.println(str);
}
}
//运行结果
x==yfalse
y==y1..false // y和y1都是相同 类型 但是由于是不同对象 内存地址不同 所以 == 下 依然是false
x.equqls(y)true
y.equqls(y1)true
num*2.........246
x*2.........246 // 说明 字符串“123” 已经转化为 整数类型 并且可以运算了
y*2.........246
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2