import java.lang.String;
public class Test
{
public static void main(String[] args)
{
int i=100;
int j=80;
int k=25;
System.out.println(k&j);
Yu yu1 = new Yu();
Yu yu2 = new Yu();
yu1.i=yu2.i=100;
System.out.println(yu1.equals(yu2));
}
}
class Yu
{
int i;
}
------解决方案--------------------------------------------------------
k&j按位与
25&80
00011001&01010000=00010000 =16
yu1.equals(yu2)
由于没有重写equals方法 调用 object的equals方法
- Java code
public boolean equals(Object obj) { return (this == obj); }
------解决方案--------------------------------------------------------
一楼正解。
Yu yu1 = new Yu();
Yu yu2 = new Yu();
这里是两个对象,equals比较的是内存地址是否相同。所以这里的比较结果应该是false,因为没有指向同一个内存地址
------解决方案--------------------------------------------------------
- Java code
@Overridepublic boolean equals(Object obj){ if(this == obj){return true;}if(obj instanceof Yu) if((Yu)obj.i=this.i){ return true; }}return false;}
------解决方案--------------------------------------------------------
Yu)obj.i==this.i