java创建对象建议

use*_*967 1 java

关于对象创建,我有一些疑问/问题.我听说不应该在循环中创建对象.在循环内创建对象有什么问题?什么是在循环外创建和在循环内创建之间的区别?

请考虑以下示例.

public java.util.List<Object> objectCreationTest(){
    java.util.List<Object> objectList =new java.util. ArrayList<Object>();
    Object obj = null;
    for(int i = 0 ; i <1000;i++){
        Object e = new Object(); //1 -->  Is this object creation wrong? 
        obj = new Object(); //2 --> Is this right way to create?
        objectList.add(e );

    }

    return objectList ;

}
Run Code Online (Sandbox Code Playgroud)

请建议我必须遵循哪种方式?

Sim*_*ser 5

我听说不应该在循环中创建对象.在循环内创建对象有什么问题?

在循环中创建对象没有任何问题.有时它是创建许多(相关)对象的唯一方法.

在您的示例中,您可以简单地执行:

public java.util.List<Object> objectCreationTest(){
    java.util.List<Object> objectList = new java.util. ArrayList<Object>();
    for(int i = 0 ; i <1000;i++){
        Object e = new Object(); 
        objectList.add(e);    
    }
    return objectList;
}
Run Code Online (Sandbox Code Playgroud)