java - 声明同名对象时出错,但如果我们声明对象使用for循环则不会出错

标签 java list object dto

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/

相关文章:

java - 从 Bloch 的 Effective Java in C++ (VS2010) 实现类型安全的异构容器

java - 如何获取结果集中WHERE条件求值的结果?

python - 在 Python 的列表中查找某个值的第一个和最后一个索引

python - 在python中合并具有不同长度和列的数据帧列表

javascript - 深层对象字面量的简写?

Java 服务器 - 如何从 InputStreamReader 获取输入并将其转换为字符串?

java - 如何强制最近通话 Activity 在插入时显示联系人姓名

list - 在haskell中将整数列表转换为一个Int(如concat)

javascript - 从 2 个现有对象创建新对象

java - JSON 对象数组转 Java POJO