最近、同じアクセサーへの複数回の呼び出しを避けるために、ゲッターをローカル変数に呼び出した結果をJavaに割り当てることをお勧めします。私は元の投稿を見つけることができませんが、コンセンサスは、ホットスポットがメソッド呼び出しのオーバーヘッドをどうにか最適化するので、これは一般的に必要ではないように思われました。複数のキャストを避けるためのローカル変数の割り当て
しかし、複数のキャストを避けるためにこの手法を使用することについての考え方は何ですか?それは、よりクリーンに見えるように私は、最初のを好む
if (a instanceof Foo) {
// Cast once and assign to local variable.
Foo foo = (Foo)a;
if (foo.getB() == 1 && foo.getC() == 2) {
...
}
}
OR
if (a instanceof Foo) {
// Cast twice making code compact but possibly less readable.
// Also, is there an overhead in multiple casts?
if (((Foo)a).getB() == 1 && ((Foo)a).getC() == 2) {
...
}
}
Lispで何が問題になっていますか? –
何も、私はLispを愛していません。ちょうどかっこがたくさんあります。それだけです。 –