Java中对象new在循环的外面和循环的里面有什么区别
展开全部
举例
一、
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就为空
一、
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就为空
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询