请教两种引用的声明,哪一个更好,请说明理由,小弟请教public class Demo {
static class Product{
int id;
}
public static void main(String[] args)
// TODO Auto-generated method stub
//1:在外部生命Product类的引用
List<Product> list = new ArrayList
Product pro = null;
for(int i=0;i<10;i++){
pro = new Product();
pro.id = i;
list.add(pro);
}
//2:在循环内部生命这个引用
List<Product> list = new ArrayList
for(int i=0;i<10;i++){
Product pro = new Product();
pro.id = i;
list.add(pro);
}
}
}
static class Product{
int id;
}
public static void main(String[] args)
// TODO Auto-generated method stub
//1:在外部生命Product类的引用
List<Product> list = new ArrayList
Product pro = null;
for(int i=0;i<10;i++){
pro = new Product();
pro.id = i;
list.add(pro);
}
//2:在循环内部生命这个引用
List<Product> list = new ArrayList
for(int i=0;i<10;i++){
Product pro = new Product();
pro.id = i;
list.add(pro);
}
}
}
你不要误导别人啊!
在外面的话,就只有一个空间这句话就不对了, pro = new Product(); 这句还是每次都分配了空间
可以读一下《Effective Java》
这也是java版三天两头出现的问题。
这两种 写法 性能差不多了~ 第一种的话 pro 的作用域大一点而已