荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: cfans (亮亮), 信区: Java
标 题: [合集]请高手分析两个程序的结果!
发信站: 荔园晨风BBS站 (2005年06月30日16:36:49 星期四), 站内信件
☆ 1 ──────────── 我是分割线 ─────────────────☆
发信人: heroness (红尘浪子), 信区: Java
标 题: 请高手分析两个程序的结果!
时 间: Wed Mar 30 20:33:20 2005
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));
}
}
运行结果为:true
而下面一个:
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));
}
}
运行结果为:false
why?
☆ 2 ──────────── 我是分割线 ─────────────────☆
发信人: mmkiller (PPMM makes me go around), 信区: Java
标 题: Re: 请高手分析两个程序的结果!
时 间: 2005年03月30日20:41:42 星期三
Integer这个Class本身应该重载了equals函数为比较他们的数值了吧?
☆ 3 ──────────── 我是分割线 ─────────────────☆
发信人: bach (时光倒转4年), 信区: Java
标 题: Re: 请高手分析两个程序的结果!
时 间: 2005年03月30日20:46:08 星期三
第一个是n1和n2这二个对象的比较
第二个比较也是二个对象的比较,但是这二个对象不是同一个
只是他们的一个值一样
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));
}
}
运行结果为:true
而下面一个:
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));
}
}
运行结果为:false
why?
☆ 4 ──────────── 我是分割线 ─────────────────☆
发信人: Kenniel (here goes), 信区: Java
标 题: Re: 请高手分析两个程序的结果!
时 间: 2005年03月30日20:48:34 星期三
全中
☆ 5 ──────────── 我是分割线 ─────────────────☆
发信人: presses (云仔), 信区: Java
标 题: Re: 请高手分析两个程序的结果!
时 间: 2005年03月30日21:30:11 星期三
把overriding和overloading搞反了
☆ 6 ──────────── 我是分割线 ─────────────────☆
发信人: heroness (红尘浪子), 信区: Java
标 题: Re: 请高手分析两个程序的结果!
时 间: Wed Mar 30 21:34:29 2005
听不懂啊
☆ 7 ──────────── 我是分割线 ─────────────────☆
发信人: mmkiller (PPMM makes me go around), 信区: Java
标 题: Re: 请高手分析两个程序的结果!
时 间: 2005年03月30日21:53:33 星期三
oh yes..我经常弄糊涂。。
应该是overriding.
☆ 8 ──────────── 我是分割线 ─────────────────☆
发信人: vbiao (阿标), 信区: Java
标 题: Re: 请高手分析两个程序的结果!
时 间: Wed Mar 30 22:03:09 2005
Integer类中的equals方法是重载了Object类的equals方法的,看它们是如何定义的就
清楚了
Object类中的equals方法的定义:
public boolean equals(Object obj) {
return (this == obj);
}
Integer类中equals方法的定义:
public boolean equals(Object obj) {
if (obj instanceof Integer) {
}
☆ 9 ──────────── 我是分割线 ─────────────────☆
发信人: crycz (打印刻录.复读机/VCD/CD/MP3), 信区: Java
标 题: Re: 请高手分析两个程序的结果!
时 间: 2005年03月31日11:32:09 星期四
应该是第一个是n1和n2这二个对象中值的比较
第二个比较也是二个对象的比较,但是这二个对象不是同一个
只是他们的一个值一样.和它们中的i完全没有关系...
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店