[英]List of objects. Operations with Integer entries
List可能包含Integers和String值。 在這種情況下,我應該創建對象列表嗎?
List<Object> list = new ArrayList<Object>();
如何使用List的Integer條目執行簡單的算術運算?
list.add(1);
list.add("ok");
list.add(2);
Integer a = list.get(0) - list.get(2); // does not work
您需要將Object
為int,因為-
Object
上沒有定義-
運算符,Java也不會自動取消這些。
Integer a = ((Integer)list.get(0)) - ((Integer)list.get(2));
那是因為最終, list.get(0);
是一個Object
。 如果你想對它進行算術運算,你必須拋出它:
Integer a = (Integer) list.get(0) - (Integer) list.get(2);
說實話,這是一個非常糟糕的設計。 如果你想迭代那個列表怎么辦? 您必須手動檢查元素是字符串還是整數。 出於某種原因引入Java的泛型。
你不能制作2個列表:一個用於字符串,一個用於整數。 或者至少使用一個列表但不使用字符串使用(通常未使用的)整數值?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.