哪种是访问静态元素的最佳方法?可以说我有一个用于共享一个静态int数组的类。
选项A
final class A {
static private int[] a;
static {
a = new int[1000];
for(int i = 0; i < a.length;i++) {
a[i] = i*50;
}
}
static int getA(int index) {
int tmp = a[index];
return tmp;
}
} 选项B
final class B {
static private int[] b;
static int getB(int index) {
b = new int[1000];
for(int i = 0; i < b.length;i++) {
b[i] = i*50;
}
int tmp = b[index];
return tmp;
}
} 访问权限
公共课程测试{
public static void main(String[] args) {
int numA = A.getA(50);
System.out.println(numA);
int numB = B.getB(50);
System.out.println(numB);
}
}
就性能而言,哪一个是最好的。还是完全一样的东西; 预先感谢
答案 0 :(得分:1)
A
和B
类之间的明显区别在于,对于后者,int[]
数组将在每次调用getter时初始化。在没有其他要求的情况下,这似乎是不必要的。因此,我投票赞成使用A
类实现。
答案 1 :(得分:1)
A
比B
好。在B
中,每次调用getB
函数时,都会创建一个新的int[]
,这将浪费时间和堆中的内存空间。 getB
中的for循环也可以执行多次。