【发布时间】:2015-04-14 07:23:23
【问题描述】:
for(i=0; i< 3; i++){
DescriptionInfoDTO description = new DescriptionInfoDTO();
description.setLanguage("English");
description.setName("anu");
description.setState("Kerala");
descriptionInfoList.add(description);
}
在执行时,这段代码创建了 3 个 DescriptionInfoDTO 对象 'description' 作为名称并将其添加到列表中。此代码正确执行,没有显示任何错误...
但是如果我们像下面这样声明对象,即不使用for循环,就会发生错误,为什么?
DescriptionInfoDTO description = new DescriptionInfoDTO();
description.setLanguage("English");
description.setName("anu");
description.setState("Kerala");
descriptionInfoList.add(description);
DescriptionInfoDTO description = new DescriptionInfoDTO();
description.setLanguage("English");
description.setName("anu");
description.setState("Kerala");
descriptionInfoList.add(description);
DescriptionInfoDTO description = new DescriptionInfoDTO();
description.setLanguage("English");
description.setName("anu");
description.setState("Kerala");
descriptionInfoList.add(description);
两个代码都做同样的事情吗?
【问题讨论】:
-
不,这不是一回事。 in for 对象的块范围仅适用于该块。
-
因为第一个只声明一次并重新分配了多次。没有歧义