[英]Why no promotion when adding ints to List<Double>
在Java中,我創建了一個Double的ArrayList,並調用了方法list.add(1),但是,出現錯誤。 如果我可以將int分配給double變量,例如:double num = 1; 由於自動升級,為什么我不能通過自動升級為Double的ArrayList添加1?
您不是要將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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.