在讨论Java编程时,我最近了解了有关变量作用域和声明的更多信息,更具体地说,应该在尽可能小的范围内声明变量。这让我想到了下面的示例,在该示例中我们创建一个新对象并将其发送到另一个函数:
method {
while(statement) {
Object newObject;
//method code
if(statement) {
newObject = new object();
} else {
newObject = new object();
}
otherMethod(newObject)
}
}
与本例相比:
method {
while(statement) {
Object newObject;
//method code
if(statement) {
Object newObject;
newObject = new object();
otherMethod( newObject );
} else {
Object newObject;
newObject = new object();
otherMethod( newObject );
}
}
}
哪一个更正确?
您的第一个示例使用较少的代码,通常是首选。Java会阻止您使用可能尚未初始化的变量,因此可读性不会受到太大影响。
为了获得更清晰的代码,您应该使用条件运算符:
otherMethod(condition? new ObjectA() : new ObjectB());
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句