這個問題純粹是關於速度和效率,而不是關注哪個是結構性更好的方法。Java:哪個更快,數組或對象?
基本上我需要一個視圖模塊讀取的狀態,這基本上是一個字符數組。這些字符的位置,名稱,物品等
要麼我可以使角色對象的陣列與吸氣劑的信息,或我可以表示每個字符含有相同的信息的數組。
這兩個辦法的將是視圖模塊更快的閱讀?
例如: 方法1種
for(int i = 0; i < characters.length(); i++){
Character temp = character[i];
this.drawName(temp.getName());
this.drawCharacterAt(temp.getColor(), temp.getX(), temp.getY())
....
}
方法2
for(int i = 0; i < characters.length(); i++){
this.drawName(character[i][0]);
this.drawCharacterAt(character[i][1],character[i][2],character[i][3]);
....
}
似乎不成熟的優化。有沒有跡象表明,一個將要顯着*比其他慢,或這兩種方法將是緩慢的,足以進行任何優化,使之與一個是最簡單的代碼,閱讀和維護去。或者換句話說,使用對象是因爲它們具有特定的屬性,這使得地獄更加有意義。 – 2014-11-25 12:01:10
測試它呢? – 2014-11-25 12:01:11
只有基準測試能夠明確回答這個問題,但我敢打賭,對象更快;原因很簡單,數組的版本需要大量的轉換,這意味着JVM中的類型檢查開銷。 – 2014-11-25 12:02:10