三个变量a,b,c。如果a.equals(b) 同时 b.equals(c)返回都是True,那么是否总是c.equals(a)?
另外,这在java中有什么作用或者用途?
谢谢
另外,这在java中有什么作用或者用途?
谢谢
解决方案 »
- js实现滚动条的问题
- 如何用Java实现qq中的远程协助功能,可以看到对方桌面,可以控制对方鼠标(在允许的情况下)
- 这些包是干什么的?
- java菜鸟
- jar -jar xxxxxx.jar,我怎么知道运行的是xxxxxx.jar文件里面的哪个类?
- #Window2000 server 下jdk1.4.2 环境变量设置
- java的对象的一点疑惑
- 为什么我的浏览器不支持applet
- 请问怎么才能从一个VB程序员转到Java程序员呢?请大家帮忙给点意见!
- 用javamail做了一个application,在jBuilder中很好,可是生成jar后,却不能单独运行,why?
- 引入别一个包中的类出错,谢谢大家
- 请问一个关于流式套接字的问题?
a.eql(c)
这是equals()方法实现的原则
1、自反性:对于非null的引用,x.equals(x)==true
2、对称性:x.equals(y)==true当且仅当y.equals(x)==true
3、传递性:x.equals(y)==true and y.equals(z)==true then x.equals(z)==true
4、一致性:如果x、y指向的引用没变,重复x.equals(y)应始终 为true
5、对于任何非null的引用x,x.equals(null)==false
{ public String a1="A1";
public String a2="A2";
public void p1(){
System.out.println(a2);
}; public boolean equals(Object a){
if(((A)a).a1.equals(this.a1) ||((A)a).a2.equals(this.a2) ) return true;
return false;
};
public static void main(String[] args)
{ A a=new A();
A b=new A();
A c=new A();
b.a2="A3";
c.a2="A3";
c.a1="A4";
System.out.println(a.equals(b));
System.out.println(b.equals(c));
System.out.println(a.equals(c));
}
}运行结果: true; true; false
b =(A1,A3)
c =(A4,A3)
是相同类型的对象之间的比较,结果是相同的!
不同类型的对象之间比较的话,就要看你怎样重写hashCode()和equals();
是自己定义的类型还要实现Comparable 接口!
equals不被override的情况下
a.eql(c)请问你override在在大陆的常用翻译是什么?它具体是什么意思?我有点不太清楚了。C++中是覆盖(实现)基类的虚函数的意思。翻译也是覆盖吗?但在JAVA中是什么意思呢?谢谢 。