日期:2014-05-20  浏览次数:20681 次

我看到sun公司的java认证考试题的时候,这个答案明显不对呀?
25. Float s=new Float(0.9F); 
  Float t=new Float(0.9F); 
  Double u=new Double(0.9); 
  Which expression?s result is true? 
  A. s==t 
  B. s.equals(t) 
  C. s==u 
  D. t.equals(u) 
25。A、B 


------解决方案--------------------
应当是只有b是正确的,其他的都是false
------解决方案--------------------
如果看不明白,就实际的运行一下,确定自己的判断。
------解决方案--------------------
String 跟基本数据类型的区别包装类
------解决方案--------------------
B正确
------解决方案--------------------
所有new了的东西都给它分配了唯一的地址,==号操作都为false
------解决方案--------------------
public class TT {

/**
* @author lybjust
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Float s = new Float(0.9F);
Float t = new Float(0.9F);
Double u = new Double(0.9);
System.out.println(s == t);
System.out.println(s.equals(t));
// System.out.print(s == u); //报错
System.out.print(s.equals(u));
}

}


只有B正确哈
------解决方案--------------------
对,只有B是正确的。
------解决方案--------------------
探讨
public class TT {

/**
* @author lybjust
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Float s = new Float(0.9F);
Float t = new Float(0.9F);
Double u = new Double(0.9);
System.out.println(s == t);
System.out.println(s.equals(t));
// System.out.print(s == u); //报错
System.out.print(s.equals(u));
}

}

b


只有B正确哈

------解决方案--------------------
考题答案出错不是什么新鲜事了,不过楼主去argue一下可以把分要回来的