2016-05-29 326 views
0

根據情況,此問題有所不同,您將我的問題標記爲重複的問題並未完全說明我的問題情況答案。爲什麼我們在枚舉中寫入Integer而不是int?

import java.util.Enumeration; import java.util.Vector;

public class EnumerationDemo { 

    public static void main(String[] args) { 
     Vector vector = new Vector(); 
     for (int item = 1; item <= 5; item++) { 
      vector.addElement(item); 
     } 
     System.out.println(vector); 
     Enumeration enumeration = vector.elements(); 
     while (enumeration.hasMoreElements()) { 
      Integer integer = (Integer) enumeration.nextElement(); 
      System.out.println(integer); 
     } 
    } 
} 

爲什麼我們在枚舉中寫整數而不是int?

+4

你爲什麼使用'Vector'?該代碼似乎也早於泛型。 –

回答

1

你可以寫int,而不是Integer,像這樣:

int integer = (Integer) enumeration.nextElement(); 

這編譯和運行於Java 5或更高版本,由於自動裝箱/拆箱(demo)。

你需要做的強制轉換爲Integer,不int究其原因,是Java從Object來源的引用類型分別處理原始類型,因此無法在標準的Java集合店沒有的原語在他們Object衍生它們包裹當量。

+0

感謝您的解釋...我現在明白了 – Rajeev

相關問題