請注意這是一個錯誤的問題。我問了這個問題,因爲當我嘗試使用Iterator時,我的IntelliJ在「Iterator」上一直警告Iterator不能有類型參數,這是不正確的。使用清單的高效方式
不知何故,我的IntelliJ似乎顯示了Java 1.4的javadoc。我仍然試圖解決它。謝謝。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^
我在一個java程序中,一個api返回一個列表。
我處理這種方式是:
ArrayList<SomeObject> arrayList = new ArrayList<>(apiThatReturnsAList);
for (SomeObject someObject : arrayList) {
...
}
我的代碼評審表明,這可能是對付它,因爲它拷貝數據的效率較低的方式。他建議我使用迭代器。但我發現代碼會是這樣的:
Iterator iterator = apiThatReturnsAList.iterator();
while (iterator.hasNext()) {
SomeObject someObject = (SomeObject)iterator.next();
}
有醜陋的鑄造在這裏,我們不想看到,因爲它不安全。
那麼,有沒有一種有效的方法來處理這個API,而不是複製數據?
謝謝!
您應該使用泛型。 – SLaks
爲什麼你認爲你需要複製'List'?任何你爲什麼使用** raw type **'Iterator'。你爲什麼直接引用一個'ArrayList'。如果我是你的評論者,我會對這個爛攤子有不少評論。 –
簡單地迭代返回的列表首先出現什麼問題? – GhostCat