0

在 Java 中,我创建了一个 Double 的 ArrayList,并调用了方法 list.add(1),但是,我得到了一个错误。如果我可以将 int 分配给这样的 double 变量: double num = 1; 由于自动提升,那为什么我不能通过自动提升将 1 添加到 Double 的 ArrayList 中?

4

1 回答 1

7

您不想转换intdouble; 您正在尝试转换intDouble,这是装箱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 回答