将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。我只想要原始比较

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

 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");
 }

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

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

相关内容

  • 没有找到相关文章

最新更新