我正在尝试使用Java,并想知道以下内容在性能方面有何不同。我知道过早地优化会影响编程,但我的好奇心只是为了以后的参考。
public class Type1{
int[] data = new data[4];
public int getData( int index ){
return data[index];
}
}
public class Type2{
int data1;
int data2;
int data3;
int data4;
public int getData1(){
return data1;
}
public int getData2(){
return data2;
}
public int getData3(){
return data3;
}
public int getData4(){
return data4;
}
}
可以理解的是,有许多因素可能会产生差异,但一定会在某些方面表现出明显的性能。显然,从设计上看,Type1类是一个更具吸引力的解决方案,但似乎在检索数据时它多了一步操作,即进入数组以获取int,而Type2则直接获取数据。也许如果它们持有Class对象数组,则差异会更加明显,因为Java可能会保证使用数组成员的引用。我完全错了吗?