Java 中 x + x 和 2*x 的区别
Difference between x + x and 2*x in Java
我正在阅读 Leetcode 问题的答案:https://leetcode.com/problems/divide-two-integers/。这道题不需要用乘法。看了几个答案后,我莫名其妙地产生了一种误解,认为 x+x
在内存和避免类型溢出方面优于 2*x
。在 post 这个问题之后,我找不到任何证据来支持这个说法。请忽略此问题。
我在 Java 中看到一个常见的做法是使用 x + x 而不是 2*x,尤其是对于 int。例如
int x = 1;
x += x;
而不是
int x = 1;
x = 2*x;
正在使用
if (a < b + b) {
...
}
而不是
if (a < 2*b) {
...
}
x + x
是否比 2*x
节省更多内存?
这似乎更像是一种习惯而不是任何理由使用这个约定,除非 JVM 比 * 更有效地承载我们的 + 操作,这可能是我们完全可以忽略的东西
我正在阅读 Leetcode 问题的答案:https://leetcode.com/problems/divide-two-integers/。这道题不需要用乘法。看了几个答案后,我莫名其妙地产生了一种误解,认为 x+x
在内存和避免类型溢出方面优于 2*x
。在 post 这个问题之后,我找不到任何证据来支持这个说法。请忽略此问题。
我在 Java 中看到一个常见的做法是使用 x + x 而不是 2*x,尤其是对于 int。例如
int x = 1;
x += x;
而不是
int x = 1;
x = 2*x;
正在使用
if (a < b + b) {
...
}
而不是
if (a < 2*b) {
...
}
x + x
是否比 2*x
节省更多内存?
这似乎更像是一种习惯而不是任何理由使用这个约定,除非 JVM 比 * 更有效地承载我们的 + 操作,这可能是我们完全可以忽略的东西