1

我正在尝试 Java9 功能 JShell。我无法设置浮点值:

jshell> float b = 3.5 
Error:
|  incompatible types: possible lossy conversion from double to float
|  float b = 3.5;
jshell> float x =2
x ==> 2.0
4

2 回答 2

4

Java 过于苛刻。

文字类型是a ,您将其分配给 a 。 3.5doublefloat

由于可能float的 s 集必然是可能的 s 集的子集,因此double在转换警告时会丢失精度。

为了轻松的生活,用3.5f来表示float文字。

但请注意,3.5可以在 a和中精确表示,因此在这种特定情况下,错误是胡说八道。doublefloat

于 2016-12-20T09:46:54.073 回答
0

这是 Java 的行为(如现有答案中所述)。JShell 完全遵循 Java 语法和语义——这很重要,因此您不会开发不正确的代码。

于 2017-08-30T21:18:54.533 回答