Java 循环外的对象引用

Java object reference outside loop

为什么在 java 中最好的做法是在循环之前创建对象引用。

List<Object> objs = new ArrayList<>();
    Object ref= null;
    for(Object obj: objects){
         ref = new Object();
         ref.setX(obj.getY());
         objs.add(ref);
    }

下面的代码有什么区别

 for(Object obj: objects){
        Object  ref = new Object();
         ref.setX(obj.getY());
         objs.add(ref);
    }

如果你想在循环外使用引用,因为变量的范围,我会说这是必须的。

如果在循环内定义变量,它的作用域仅限于循环。

如果在循环外定义变量,循环结束后即可使用。

你提供的例子没有区别。