java - 在 Java 中不进行强制转换来表示数字

标签 java syntax casting byte constants

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

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

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

据我所知,对于 float ,您可以这样表示:

float tolerance = 0.0000008f;

但这种形式几乎无法阅读。

最佳答案

对于浮点值,您可以简单地在文字中表达您想要一个浮点,而不是 double (需要强制转换):

float tolerance =  8.0e-7F;

但是没有字节的文字(参见 here )。

关于java - 在 Java 中不进行强制转换来表示数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42482142/

相关文章:

java - 如何在Android中进行xml解析?

MySql 查询字符串日期问题

c - 数组的平均值仅在转换为 float 时才能正确显示

c++ - 强制转换为 C++ 中的字符串运算符重载

java - 避免主要/次要版本与 Java/Maven 依赖项的冲突

java - ActiveAndroid 多对多关系

java - Spring MVC : recieving object with empty attributes in a post Method using @RequestBody

syntax - D 2.0 : Class Arguments and Declaration Definitions with "new"?

Javascript:条件检查的快捷语法?

C++ 类型转换替代虚拟方法