在 Java 中,我创建了一个 Double 的 ArrayList,并调用了方法 list.add(1),但是,我得到了一个错误。如果我可以将 int 分配给这样的 double 变量: double num = 1; 由于自动提升,那为什么我不能通过自动提升将 1 添加到 Double 的 ArrayList 中?
问问题
124 次
1 回答
7
您不想转换int
为double
; 您正在尝试转换int
为Double
,这是装箱和int
从to的隐式转换的组合double
。这不起作用,即使是在一个简单的任务中:
// Error: incompatible types: int cannot be converted to Double
Double num = 1;
它甚至不起作用Long
- 你需要指定一个long
文字:
Long num1 = 1; // Invalid
Long num2 = 1L; // Valid
在您的情况下,您只需要使用double
文字,例如
list.add(1.0);
list.add(1D);
于 2014-10-23T20:25:52.203 回答