这个问题纯粹是关于速度和效率,而不是关注哪个是结构性更好的方法。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