`

修改集合中实例的值,对集合的影响

 
阅读更多
/**
 * User: liuwentao
 * Time: 11-11-16 下午5:30
 */
public class Object1 {
    public void showInfo() {
        System.out.println(this.getName());
    }
   
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}


1.将上面的对象实例装入List 然后 设置为null (无影响)

/**
 * User: liuwentao
 * Time: 11-11-16 下午5:28
 */
public class NullForList1 {
    public static void main(String[] args){
        List<Object1> list = new ArrayList<Object1>();
        Object1 obj  = null;
        for (int i = 0 ;i < 3; i++) {
            obj= new Object1();
            obj.setName("名字:"+i);
            list.add(obj);            
            obj = null; //obj 设置成 null
        }
        for (Object1 testObject : list) {
            testObject.showInfo();
        }
    }
}





2.obj装入list后,再修改obj的属性 (有影响)

/**
 * User: liuwentao
 * Time: 11-11-16 下午5:28
 */
public class ModiForList1 {
    public static void main(String[] args){
        List<Object1> list = new ArrayList<Object1>();
        Object1 obj  = null;
        for (int i = 0 ;i < 3; i++) {
            obj= new Object1();
            obj.setName("名字:"+i);
            list.add(obj);
            obj.setName("刘文涛"); //obj装入list后,再修改obj的属性
        }
        for (Object1 testObject : list) {
            testObject.showInfo();
        }
    }
}



3.将String实例装入List 然后 设置为null (无影响)
/**
 * User: liuwentao
 * Time: 11-11-16 下午5:28
 */
public class NullForList2 {
    public static void main(String[] args){
        List<String> list = new ArrayList<String>();
        String str  = null;
        for (int i = 0 ;i < 3; i++) {
            // str= new String("名字." + i);
             str= "名字." + i; //与 上一行 效果一样
            list.add(str);
            str = null;// str 设置成 null
        }
        for (String str2 : list) {
            System.out.println(str2);
        }
    }
}



4.String装入list后,再修改 String 的值 (无影响)
/**
 * User: liuwentao
 * Time: 11-11-16 下午5:28
 */
public class ModiForList2 {
    public static void main(String[] args){
        List<String> list = new ArrayList<String>();
        String str  = null;
        for (int i = 0 ;i < 3; i++) {
            // str= new String("名字." + i);
             str= "名字." + i; //与 上一行 效果一样
            list.add(str);
            str = "刘文涛";// 修改str的值
        }
        for (String str2 : list) {
            System.out.println(str2);
        }
    }
}



5:Integer 与 String 完全一样
/**
 * User: liuwentao
 * Time: 11-11-16 下午5:28
 */
public class ModiForList3 {
    public static void main(String[] args){
        List<Integer> list = new ArrayList<Integer>();
        int j = 0;
        for (int i = 0 ;i < 3; i++) {
            j = new Integer(i);
           // j = i; //与 上一行 效果一样
            list.add(j);
            j = 250;// 修改j的值
        }
        for (Integer j2 : list) {
            System.out.println(j2);
        }
    }
}




  • 大小: 7.1 KB
  • 大小: 7.6 KB
  • 大小: 60.2 KB
  • 大小: 7.1 KB
  • 大小: 7.3 KB
  • 大小: 6.9 KB
分享到:
评论

相关推荐

    java集合使用实例

    本资源聚焦于Java集合中的四个关键类:HashSet、TreeSet、HashMap和TreeMap,它们分别代表了不同类型的集合容器。 1. **HashSet**:HashSet是一个不允许重复元素的无序集合。它基于哈希表实现,插入和查找操作的...

    EXCEL VBA 集合实例(78)

    集合中的每个成员都有自己的唯一标识,可以通过这个标识来访问或修改。 2. **创建集合**:在VBA中,我们可以通过定义一个新的类模块并继承自`Collection`类来创建自定义的集合。或者,我们可以直接使用内建的`...

    Freemarker中遍历list集合实例

    Freemarker 中遍历 List 集合实例是指在 Freemarker 应用中遍历 List 集合获取需要的数据,并对需要的数据进行排序加工后呈现给用户。以下是 Freemarker 中遍历 List 集合实例的详细介绍: 一、 Freemarker 中 list...

    JAVA应用实例集合

    实例集合中的例子可能会涵盖这些基本概念,通过编写和运行代码,初学者可以巩固理解。 2. **类与对象**:Java是面向对象的语言,这意味着一切皆为对象。实例化类、创建对象、方法调用等是Java的核心。通过实例,你...

    jQuery特效和实例集合

    《jQuery特效与实例集合——深度探索JavaScript魅力》 在当今的Web开发领域,jQuery以其简洁易用的API和强大的功能,成为了JavaScript库的首选。这个名为"jQuery特效和实例集合"的压缩包,包含了50多个精心设计的...

    js实例之集合遍历字符创修改

    在这个"js实例之集合遍历字符创修改"的主题中,我们将深入探讨如何使用JavaScript有效地遍历数组、对象集合以及如何对字符串进行修改。 首先,让我们从集合遍历开始。在JavaScript中,集合可以是数组或对象。数组的...

    C#List字典Dictionary泛型集合实例,源码

    例如,你可以创建一个`HashSet&lt;int&gt;`来存储不重复的整数,`Add`方法会自动忽略已存在的元素,`Contains`方法则用于检查某个元素是否存在于集合中。 在实际编程中,这些集合类的源码可以帮助我们理解它们的内部实现...

    Xml转换为集合list实例代码.rar

    总之,"Xml转换为集合list实例代码.rar"文件提供的代码示例展示了如何在C#中利用不同的XML处理技术,将XML数据转换为List集合,便于进一步的编程操作。在实际开发中,理解并掌握这种转换技巧对于处理XML数据至关重要...

    Rsoft各个模块实例集合

    实例集合中可能包含了通过使用BeamPROP进行基本和高级模拟的示例,帮助用户理解和掌握如何通过Rsoft实现光电子设计的模拟。 在描述部分中强调了初学者从基础实例学起的重要性。它提到了实例集合的难度逐渐增加,且...

    Java集合类实例解析.doc

    `size`方法用于获取集合中元素的数量,`remove`方法用于从集合中移除指定的元素。`contains`方法检查集合是否包含特定的元素,返回一个布尔值。 接下来,创建了另一个ArrayList类型的Collection对象`collection2`,...

    AVR单片机C语言实例集合

    通过模仿和修改代码,可以加深对理论知识的理解,为独立开发项目打下坚实基础。 5. **资源利用** 对于初学者,这些实例书籍集合是宝贵的自学资源;对于有一定经验的开发者,它们可以作为参考和灵感来源,帮助解决...

    linux c实例集合

    学习这个实例集合时,应逐步理解每个例子的目的,跟踪代码执行流程,尝试修改代码以适应不同的需求。这不仅能提高你的编程技巧,还能增强对Linux系统机制的理解。记得,理论知识和实践经验相结合,才是学习编程的...

    vue大屏项目实例集合

    【vue大屏项目实例集合】包含多个vue大屏操作项目实例 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为...

    Android各种常用控件实例程序集合

    "Android各种常用控件实例程序集合"是一个宝贵的资源,它提供了丰富的实例,帮助开发者快速理解并熟练运用Android中的控件。 首先,我们来了解一下Android中的基础控件。在Android布局文件中,常见的控件包括: 1....

    Android+上百实例源码分析以及开源分析+集合打包3

    "Android+上百实例源码分析以及开源分析+集合打包3"这个资源提供了丰富的学习材料,涵盖了多个方面,旨在帮助开发者更好地理解和实践Android开发。 首先,我们要明白Android实例的重要性。实例是理论知识与实际操作...

    网页特效代码集合+实例

    这个名为"网页特效代码集合+实例"的资源包,显然是为了帮助开发者或网页设计师创造出独特的、引人入胜的网页效果而设计的。它包含了多种特效的代码实现和示例,旨在帮助你让网页变得与众不同,展现出别具一格的设计...

    C#集合与字符窜处理C#集合与字符窜处理(源代码)

    字典(Dictionary, TValue&gt;)则是一个键值对的集合,通过键来快速查找对应的值。 字符串处理在C#中主要通过String类进行,它提供了丰富的静态和实例方法。例如,`string.IsNullOrEmpty()`用于检查字符串是否为空或...

    xml 操作 实例 集合

    本压缩包“xml操作实例集合”包含了一系列示例,旨在帮助用户深入理解和实践XML的相关操作。以下是针对每个示例的详细解析: 1. **XMLReaderSample** `XMLReader` 是.NET框架中用于处理XML文档的高效读取器。相比...

    343个经典脚本实例集合

    这个实例集合中可能包含以下几种类型的脚本: 1. **DOM操作**:JavaScript能通过Document Object Model(DOM)来改变HTML元素、属性和样式。实例可能涉及添加、删除或修改元素,以及响应用户事件。 2. **AJAX**:...

Global site tag (gtag.js) - Google Analytics