我正在尝试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
答案 0 :(得分:4)
Java过于苛刻。
文字 3.5
的类型是double
,您将其分配给float
。
由于可能float
的集合必然是可能的double
集合的一个子集,因此转换警告会导致精度丢失。
为了轻松生活,请使用3.5f
来表示float
字面值。
但请注意,3.5
可以在double
和float
中完全表示 ,所以在此特定的场合,错误是hogwash。
答案 1 :(得分:0)
这是Java的行为(如现有答案中所述)。 JShell完全遵循Java语法和语义 - 这很重要,因此您不会开发错误的代码。