标题: 根据下面的程序代码,哪些选项的值返回true? [打印本页] 作者: 壊亊唑侭 时间: 2015-8-21 21:13 标题: 根据下面的程序代码,哪些选项的值返回true? public class Square {
long width;
public Square(long l) {
width = l;
}
public static void main(String arg[]) {
Square a, b, c;
a = new Square(42L);
b = new Square(42L);
c = b;
long s = 42L;
}
}
A.a == b
B.s == a
C.b == c
D.a.equals(s)
A: a == b
由图可以看出a和b指向的不是同一个引用,故A错
B:s == a
一个Square类型不能与一个long型比较,编译就错误,故B错
c:b == c
由图可以看出b和c指向的是同一个引用,故C正确
d:a equal s
程序会把s封装成一个Long类型,由于Square没有重写Object的equals方法, 所以调用的是Object类的equals方法,源码如下