java - 为什么我不能将 double 隐式转换为 int?

标签 java c# casting implicit-conversion explicit-conversion

您可以将 int 隐式转换为 double:double x = 5;

您可以显式地将 int 转换为 double:double x = (double) 5;

您可以显式地将 double 转换为 int:int x = (int) 5.0;

为什么不能将 double 隐式转换为 int?:int x = 5.0;

最佳答案

double 的范围比int 宽。这就是为什么你需要明确的类型转换。出于同样的原因,您不能将 long 隐式转换为 int:

long l = 234;
int x = l; // error

关于java - 为什么我不能将 double 隐式转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26209405/

相关文章:

java - 如何用 Java 编写 Facebook 应用程序?

c# - 如何使用 DataTable.Select() 解决文件管理器值中的单引号问题

java - 是否有可能将一个对象转换为与所有java版本中的抽象父对象(而不是其父对象)具有完全相同结构的对象?

c# - Unicode问题

java - 无法迭代查询返回的值

java - 通过线程构造函数按引用分配的列表变量不起作用

c# - 如何以编程方式增加版本号?

c# - SQL - 对员工进入时间进行分类

scala - 避免使用类型成员和子类型进行类型转换

c++ - 在 C++ 中确定对象类型