`

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

 
阅读更多
/**
 * 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
分享到:
评论

相关推荐

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

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

    求2个集合的交集

    ①建立一个哈希表(HashTable),其键(KEY)表示集合中数字的值,其值(VALUE)表示集合中数字出现的次数 ②遍历集合A,将集合中的每个数字(KEY)插入哈希表,每个数字的出现次数(VALUE)设置为1 ③遍历集合B,对于集合...

    Android UI组件实例集合

    仿照Path应用首页左下角的Button动画效果写了个简单的Demo,由于数学不好,坐标总是和理想有出入,只是大致实现了动画效果,若果有人能把坐标算对,那么修改我的demo就能做成类似Path的那种动画效果!希望大家出点力...

    C#编程实例代码集合

    Example009-在菜单中加入图标 Example010-渐变的窗口背景 Example011-使用任务栏的状态区 Example012-在运行时更新状态栏信息 Example013-无标题窗体的拖动 Example014-设置应用程序的图标 Example015-共享菜单项 ...

    Visual Studio 2008 组合帮助集合管理器

    选中要在默认 VSCC 集合中包含的帮助集合的对应复选框,并清除要排除的集合旁的复选 框。 警告 排除默认 VSCC 集合中的帮助集合时一定要谨慎。这可能会阻止您访问所需的文档。请考虑使用筛选器来集中搜索与 您的...

    C#源码大集合 02(共3卷)

    │ │ ├─实例124 如何显示和修改数据库中的图像信息 │ │ └─实例125 如何使用水晶报表向导创建报表 │ ├─第7章 网络应用 │ │ ├─实例126 如何下载网页 │ │ ├─实例127 如何上下载文件 │ │ ├─实例...

    mis实例

    程序说明: Missys.db ====== 系统数据库文件 ...修改MDI窗口下方的状态条提示信息,自己可再修改。 4.在窗口右下方状态条上有一个类似液晶器LED显示当前日期及时间 5.MDI窗口带有背景图(ycr.wmf)

    任务九:使用集合ArryList集合对类对象Member和Goods类的形势完成淘宝shopping”购物管理系统购物结算模块和客户管理模块

    任务九:使用集合的方法(ArryList集合对类对象Member和Goods类) 完成淘宝shopping”购物管理系统购物结算模块和客户管理模块 1.需要完成的任务 开发“淘宝Shopping购物管理系统”: (1)实现系统数据传递 (2)...

    java范例开发大全

    实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131 同时...

Global site tag (gtag.js) - Google Analytics