荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: cfans (亮亮), 信区: Java
标 题: [合集]这个程序运行结果为什么是 false ????
发信站: 荔园晨风BBS站 (2005年06月30日16:35:51 星期四), 站内信件
☆ 1 ──────────── 我是分割线 ─────────────────☆
发信人: heroness (红尘浪子), 信区: Java
标 题: 这个程序运行结果为什么是 false ????
时 间: Wed Mar 30 18:17:29 2005
class Value {
int i;
}
public class EqualsMethod2 {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
}
☆ 2 ──────────── 我是分割线 ─────────────────☆
发信人: Dicyson (快乐很难), 信区: Java
标 题: Re: 这个程序运行结果为什么是 false ????
时 间: 2005年03月30日19:44:09 星期三
equal 比较的是变量的地址是否相等... new了两个Value的对象
代表不同地址 肯定是false了!!
☆ 3 ──────────── 我是分割线 ─────────────────☆
发信人: heroness (红尘浪子), 信区: Java
标 题: Re: 这个程序运行结果为什么是 false ????
时 间: Wed Mar 30 20:28:44 2005
可是这个程序的结果为:true 啊!
public class EqualsMethod {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1.equals(n2));
}
} /
☆ 4 ──────────── 我是分割线 ─────────────────☆
发信人: Dicyson (快乐很难), 信区: Java
标 题: Re: 这个程序运行结果为什么是 false ????
时 间: 2005年03月30日20:41:17 星期三
equals()这个行为比较的是references ..
在一般的标准库大多数的class都复写了equals()..
而你自己写的class没有 复写 equals() 所以它比较的是references
而不是对象本身!!
☆ 5 ──────────── 我是分割线 ─────────────────☆
发信人: heroness (红尘浪子), 信区: Java
标 题: Re: 这个程序运行结果为什么是 false ????
时 间: Wed Mar 30 21:28:01 2005
Thank you very much!
☆ 6 ──────────── 我是分割线 ─────────────────☆
发信人: crycz (打印刻录.复读机/VCD/CD/MP3), 信区: Java
标 题: Re: 这个程序运行结果为什么是 false ????
时 间: 2005年03月31日11:58:33 星期四
这个程序比较的是Value的两个对象..创建了两个Value对象之后给
成员变量i赋值..equals的比较和i没有关系..当然结果为false
☆ 7 ──────────── 我是分割线 ─────────────────☆
发信人: yeyeye (好吗?!?), 信区: Java
标 题: Re: 这个程序运行结果为什么是 false ????
时 间: 2005年04月03日13:53:17 星期天
我也是这样认为的.看了上面大家的讨论.
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店