代表数字而不在Java中进行转换

时间:2017-02-27 09:33:04

标签: java syntax casting byte constants

Java中是否存在一种更自然的方式来表示不使用强制转换的数字?

float tolerance = (float) 8.0e-7;
byte[] data = new byte[]{(byte) 0xFF , (byte) 0x15};

在这些实例上不使用强制转换根本不起作用,当你定义一个原始类型的常量并且你必须使用强制转换来表示它时它看起来很奇怪(就像你说的那样) Java并不自然地支持这些数据类型,这是荒谬的。)

据我所知,对于浮点数,你可以这样表示:

float tolerance = 0.0000008f;

但这种形式几乎不可读。

1 个答案:

答案 0 :(得分:2)

对于浮点值,您只需在文字中表示您想要 float ,而不是double(需要转换):

float tolerance =  8.0e-7F;

虽然没有文字字节(参见here)。