在Java中,我创建了一个Double的ArrayList,并调用了list.add(1)方法,但是,我得到了一个错误。如果我可以给一个双变量赋值,比如:double num=1;由于自动促销,那么为什么我不能通过自动促销将1添加到Double的ArrayList?
您没有尝试将int
转换为double
;您正在尝试将int
转换为Double
,这是装箱和从int
到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);