作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在讨论 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());
关于java - 进一步方法的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18874125/
我有这个: const {ops} = getOplogStreamInterpreter(strm); ops.del.subscribe(v => { console.log('delete
我四处搜索,据我所知,POST 表单请求已被限制为 10MB (http://golang.org/src/net/http/request.go#L721)。 如果我要在我的 ServeHTTP 方
我是一名优秀的程序员,十分优秀!