Given: 
11. public static void main( String[] args ) { 
12. Integer a = new Integer(10); 
13. Integer b = new Integer(10); 
14. Integer c = a; 
15. int d = 10; 
16. double e = 10.0; 
17. }  
Which three evaluate to true? (Choose three)   
A. (a == c) 
B. (d == e) 
C. (b == d) 
D. (a == b) 
E. (b == c) 
F. (d == 10.0)
请问答案是什么?原因?谢谢!急!

解决方案 »

  1.   

    ABFA  不用说,指向同一个对象
    B  基本型的数值比较,不用在意类型
    F  10.0看成double,道理跟B一样
      

  2.   

    经过验证ABCF都是正确的,为什么只选3个?
    public class Test {
        public static void main(String[] args) {        Integer a = new Integer(10);
            Integer b = new Integer(10);
            Integer c = a;
            int d = 10;
            double e = 10.0;
            System.out.println("Which three evaluate to true? (Choose three)  ");
            if (a == c) {
                System.out.println("A");
            }
            if (d == e) {
                System.out.println("B");
            }
            if (b == d) {
                System.out.println("C");
            }        if (a == b) {
                System.out.println("D");
            }
            if (b == c) {
                System.out.println("E");
            }
            if (d == 10.0) {
                System.out.println("F");
            }    }
    }
      

  3.   

    楼上的,我的 b == d ,编译错误,JDK 1.4
      

  4.   

    == 操作符 比较   类引用   时,会比较是否为同一个实例,d==10.0  会将d转化为double类型