我有2个问题。java float:== equals compareTo
1)有人告诉我,比较两个Float
或Double
数据时,使用compareTo
代替equals
。我不知道原因。是否有任何示例显示使用equals
会导致错误?
2)见以下代码:
float f2=(float)1.123450;
Float f3=new Float(1.123450);
System.out.println(f3==f2); // result is true
我想使用==
指两个数据点到同一存储器地址。但是f3
和f2
具有相同的地址吗? new Float(...)
是否创造了新的空间?
有点相关:http://stackoverflow.com/questions/1551235/java-strings-compareto-vs-equals?rq=1 –
什么f1.equals(F2)给? – smk
从[该文档(http://docs.oracle.com/javase/6/docs/api/java/lang/Float.html#compareTo(java中。lang.Float)):“这个方法施加的Float对象的自然排序['compareTo']与'equals'一致。” –