JShell 可能从 double 到 float 的有损转换

JShell possible lossy conversion from double to float

我正在尝试 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

Java 太小气了。

文字3.5类型double,而您将其分配给float.

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

为了方便起见,使用3.5f表示float文字。

但请注意,3.5 可以在 doublefloat 准确地 表示,所以在这个 具体场合,错误是废话。

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