有最近询问是否是Java的一个好主意,分配调用一个getter一个局部变量,以避免同样的访问多个呼叫结果的问题。我无法找到最初的帖子,但一致认为这通常不是必须的,因为Hotspot无论如何都会优化掉方法调用开销。局部变量赋值,以避免重复蒙上
然而,什么是对采用这种技术来避免多次注塑看法?目前我面临之间的选择:
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有什么问题? – 2009-09-17 15:37:40
没什么,我喜欢Lisp,它恰好有很多括号,就是这样。 – 2009-09-17 16:41:13