今天遇到一个关于for循环内对象的写法问题
一种是:
for (condition){
Object obj = new Object();
//handle obj
}
第二种是
Object obj = null;
for (condition){
obj = new Object();
//handle obj
}
我想了解一下这两种的写法的一个区别
工作中经常见到的是第一种的写法。
个人见解是第一种创建了更多的对象,第二种只是引用的对象变了。觉得第二种写法更好。
但公司那么多比我经验丰富的都写第一种。我想知道的是这两种写法的区别是否可以忽略不计?没有什么影响
这两种写法只是变量声明方法不同,对象创建的次数一样的(看new的调用次数)。
第一种声明方法的变量,只在循环体内能够使用,可以避免其他地方的误用,建议使用。