Java中对象new在循环的外面和循环的里面有什么区别

2024-11-15 15:19:35
推荐回答(1个)
回答(1):

举例
一、
for(int i = 0; i < 5; i++){
Abc abc = new Abc();
Object obj = abc.aaa();
}
二、
Abc abc = new Abc();
for(int i = 0; i < 5; i++){
Object obj = abc.aaa();
}
/**
* aaa()是ABC中的一个方法,可以是数据库的增删改查,可以是写入读取配置文件,可以只是只是一个逻辑运算,不知道和这些有没有关系
*/
一二 运行以及结果上有什么区别

知道一中运行会new5个对象,二只new一个对象,所以内存地址不一样

更多

循环多少次,如果new再里面,那就new了多少次。

如果再循环外面,那就只new了一次ABC

举个例子,假设JsonBean有name和id属性

Java code?

JsonBean ju = new JsonBean();
ju.setName("123");
for (int i = 0; i < 5; i++) {
ju.setId(i);
System.out.println(ju.getId());
System.out.println(ju.getName());
}

这样的话,就只是修改了ju的 id值, 原来的name值没变,输出5次123

如果是在循环里面,ju都是新new的,name就为空