将float(基本类型)与==运算符

时间:2016-04-07 07:08:17

标签: java compare

我有一个代码,我在其中将float与==运算符

进行比较
String sFloat = "0.0";
float n = Float.parseFloat(sFloat);
System.out.println("n--"+n);
if(n == 0){
    System.out.println("inside if");
}
else{
    System.out.println("inside else");
}

以上方式是比较浮动的权利,否则在其他情况下会失败。比如.equals或任何其他方法。

  

float是一个原始变量而不是Float

我不想使用包装器Float。我只想要原始的比较

3 个答案:

答案 0 :(得分:2)

原始变量与==运算符而不是equals()方法进行比较,因为它仅用于引用类型变量。

答案 1 :(得分:1)

 float f1 = 22.30f;
 float f2 = 88.67f;
 int retval = Float.compare(f1, f2);

 if(retval > 0) {
    System.out.println("f1 is greater than f2");
 }
 else if(retval < 0) {
    System.out.println("f1 is less than f2");
 }
 else {
    System.out.println("f1 is equal to f2");
 }

这将是比较浮动值的最佳方式。

答案 2 :(得分:1)

正如您所说,float是一个原始的变量,因此使用==运算符来比较浮点数是安全的。 另外,使用Float(float类型的类包装器),你应该使用equals()方法提供程序。