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);
两个代码做同样的事情吗?
最佳答案
如果您将第二个代码段更改为
{
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);
}
它将等同于第一个片段并通过编译。
关于java - 声明同名对象时出错,但如果我们声明对象使用for循环则不会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29621423/