gpt4 book ai didi

java - float 字

转载 作者:行者123 更新时间:2023-12-01 17:36:53 28 4
gpt4 key购买 nike

这似乎是一个非常简单的问题,但我只是想澄清我的疑问。我正在查看其他开发人员编写的代码。有一些涉及 float 的计算。

示例:Float fNotAvlbl = new Float(-99); 他为什么要创建一个新对象?如果我们这样做Float fNotAvlbl = -99;会发生什么(-99在这里用作标志来指示不适用)稍后在代码中,我们定义:

fltValue1 = 0.00f;
fltValue2 = 0.00f;

并使用返回 float 的方法调用填充这两个值。之后,我们再次将这两个值转换为浮点对象:

fltVal1 = new Float(fltValue1); 
fltVal2 = new Float(fltValue2);

然后进行比较if(fltVal1.compareTo(fNotAvailable) == 0)做一些事情。
这都是因为compareTo需要包装类对象吗?

如果这是一个真正的基本问题,我深表歉意。

最佳答案

  • 编写Float fNotAvlbl = -99;依赖于自动装箱,该功能仅在Java 5中添加,因此较旧的代码无法使用它。
  • 使用 -99 作为浮点值来表示“不适用”真的非常糟糕。使用 nullFloat.Nan
  • fltVal1.compareTo(fNotAvailable) == 0fltValue1==fltValue2 含义完全相同
  • 不应该比较浮点值以确保严格相等,因为它通常无法按预期工作。阅读 The Float-Point Guide了解原因。

关于java - float 字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5393941/

28 4 0
文章推荐: java - 在对象上应用新函数
文章推荐: java - 接收焦点时清除文本框
文章推荐: java 泛型 - 将 List 转换为 List