これはpremature optimization
問題か何かである可能性があると思います。
次の 2 つのコード スニペットについては、
public void doSomething1(final int a) {
final int b = a -1;
doSomethingElse(b);
doSomethingElse(b);
}
public void doSomething2(final int a) {
doSomethingElse(a - 1);
doSomethingElse(a - 1);
}
doSomething1
よりも優れていdoSomething2
ますか?doSomething2
は 2 つの異なる を使用しますint
か?
アップデート
多分私は反対票に値するでしょう。しかし、このように可変長ビット (バイトではない) を読み書きする実際のコードがあります。
final int unsignedLength = length - 1;
return (((readBoolean() ? ~0 : 0) << (length - 1))
| readUnsignedInt(length - 1));
(length - 1)
とのパーツ交換に興味がありましたunsignedLength
。
ありがとう。