在我的应用程序中,我需要更改整数变量的值。我改变了这种方式,就像这样
int variable;
if (condition) {
variable= 1;
}
else if (condition) {
variable= 2 ;
}
..........
..........
else {
variable=3;
}
或者我应该声明一个数组并像这样改变变量的值
int variable;
if (condition) {
variable= array[0];
}
else if (condition) {
variable= array[1];
}
..........
..........
else {
variable=0;
}
哪种性能更优化的方式?或两者都这样做?
答案 0 :(得分:0)
如果梯形图
太多,您可以使用switch语句以获得更清晰和快速访问答案 1 :(得分:0)
如果您的值是常量和简单整数,那么第一个选择更为可取,因为这样可以避免创建数组的开销,从而为您节省一些内存。 :)
此外,为了在条件之间切换,您可以将@henrycharles的答案视为开关案例,有时证明比if-else更有效。
答案 2 :(得分:0)
在我假设的第二种情况下,性能稍差(但你不会注意到它)。我的意思是你必须将额外的变量带入堆栈 - 数组本身。您还需要更多内存来创建和保留数组。
但是因为你有if / else分支,错过的if / else分支会比array或not-array产生更大的影响。 无论哪种方式我都不会太担心它,这种差异将是ns的顺序。
当然,你总是称之为衡量标准 - 但微观基准测试Java并不总是那么容易。