`

list中对象、值保存的解释

 
阅读更多
package com.lee.list;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

import com.lee.model.Person;


public class ListAddChangeList {

	/*[com.lee.model.Person@2510bb7, com.lee.model.Person@16d81c91]
	[com.lee.model.Person@2510bb7, com.lee.model.Person@16d81c91]
	[com.lee.model.Person@2510bb7, com.lee.model.Person@16d81c91]
	[null, null]*/
	//实验证明,list保存的是p1 p2 指向的内存地址,这块内存地址的值可以通过p1 p2去修改里边的值
	//但是改变p1 p2的指向并不能改变这块内存地址的值,所以当p1 = null时
	//list保存的p1所指向的内存地址还是不会改变,还是会有值
	@Test
	public void t1(){
		List<Person> list = new ArrayList<Person>();
		Person p1 = new Person("n1",11); 
		Person p2 = new Person("n2", 22); 
		list.add(p1);
		list.add(p2);
		
//		p1 = null;
//		p2 = null;
		
		//System.out.println(list.toString());
		
		print(list);
		p1.setAge(15);
		
		List<Person> list2 = new ArrayList<Person>();
		list2.add(list.get(0));
		list2.add(list.get(1));
		
		list.set(0, null);
		list.set(1, null);
		
		//System.out.println(list2.toString());
		p1.setAge(166);
		p1 = null;
		p2 = null;
		System.out.println("****p1.setAge(16)****");
		print(list2);
//		p1 = null;
//		p2 = null;
		p1.setAge(17);
		System.out.println("***********");
		print(list2);
		//System.out.println(list2.toString());
		
//		list2.set(0, null);
//		list2.set(1, null);
		
		//System.out.println(list2.toString());
		p1.setAge(17);
		print(list2);
	}

	private void print(List<Person> list) {
		for(Person person : list){
			System.out.print(person.getName() + " " + person.getAge() + " ");
		}
		if(list.size() == 0){
			System.out.println("empty");
		}
		System.out.println();
		
	}
	
	
	
}

分享到:
评论

相关推荐

    springMVC poi解析ajax上传excel文件,返回json对象\list数组

    采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快,与Excel表顺序保持一致),Sheet表1————&gt;List1列头,列值&gt;&gt; 步骤1:根据Excel版本类型创建对于的Workbook以及...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     8.1 Java对象在JVM中的生命周期  8.2 理解Session的缓存  8.2.1 Session的缓存的作用  8.2.2 脏检查及清理缓存的机制  8.3 Java对象在Hibernate持久化层的状态  8.3.1 临时对象的特征  8.3.2 持久化对象的...

    JS中使用变量保存arguments对象的方法

    该方法获得序列中的下一个值。 迭代器示例 题目:希望编写一个便利的函数,它可以接收任意数量的参数,并为这些值建立一个迭代器。 测试代码好下: var it=values(,,,,,,,,); it.next();// it.next();// it....

    Python的Numpy用法

    标准安装的 Python 中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对 象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3],需要有 3 个指针和三个整数对象。 对于...

    谈谈父窗口和所有者窗口.doc

    一、概念和区别 在windows系统中,每个窗口对象都对应有一个数据...在MFC 的CWnd类中,所有者窗口保存在m_hWndOwner成员变量中,父窗口则保存在m_hParent中,但是这两个值并不一定和窗口对象数据结构中的 值相对应。

    file java 上传 下载

    解析request对象,并把表单中的每一个输入项包装成一个fileItem 对象,并返回一个保存了所有FileItem的list集合。 setFileSizeMax(long fileSizeMax) 设置上传文件的最大值 setSizeMax(long sizeMax) 设置上传...

    Windows程序设计测试2+报告-根据消费表绘制饼图

    点击确定按钮接受新设置值后,更改文档中维护的对象数据,进而重新更新视图客户区中被编辑更改对象的显示。 (4)在框架菜单上新增“对象”子菜单,新增“新建对象”和“管理对象”两菜单项。 (5)通过点击“新建...

    numpy-1.17.4-cp37-cp37m-win_amd64.whl

    下了好久,,为了攒积分,,凑字数,后面我粘贴了啊, 准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单...

    QUALCOMM平台BUIW开发文档

     对象中还创建其它对象 98  内存 99  应用检查内存 99  对象需要检查内存 99  对象示例 99  应用程序和对象创建前 100  应用创建了对象后 100  把所有窗口都释放 100  先释放对象 100  释放函数...

    java面试宝典

    18、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 9 19、是否可以继承String 类? 9 20、以下二条语句返回值为true 的有: 10 21、当一个对象被当作参数传递到一个方法后,此方法可...

    超级有影响力霸气的Java面试题大全文档

    对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别  JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的...

    cookie中用字符串方式存储session信息实现的购物车模块

    (1)使用session机制,保存用户状态(用户购买的商品)。 (2)为了方便对购买操作的处理(比如,购买商品、 删除已经购买的商品、查看已经购买的商品、计价等等), 设计一个Cart类,封装这些操作。Cart对象会...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     8.1 Java对象在JVM中的生命周期  8.2 理解Session的缓存  8.2.1 Session的缓存的作用  8.2.2 脏检查及清理缓存的机制  8.3 Java对象在Hibernate持久化层的状态  8.3.1 临时对象的特征  8.3.2 持久化对象的...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     8.1 Java对象在JVM中的生命周期  8.2 理解Session的缓存  8.2.1 Session的缓存的作用  8.2.2 脏检查及清理缓存的机制  8.3 Java对象在Hibernate持久化层的状态  8.3.1 临时对象的特征  8.3.2 持久化对象的...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     8.1 Java对象在JVM中的生命周期  8.2 理解Session的缓存  8.2.1 Session的缓存的作用  8.2.2 脏检查及清理缓存的机制  8.3 Java对象在Hibernate持久化层的状态  8.3.1 临时对象的特征  8.3.2 持久化对象的...

    Excel VBA实用技巧大全 附书源码

    04072引用工作表中任意对象左上角、右下角的单元格 04073引用输入了数组公式的所有单元格区域 04074引用输入了某数组公式的单元格区域 04075引用输入了某个函数的全部单元格 04076引用含有特定文本字符串的所有...

    POI实战总结

    8、单元格值类型读写 9、设置列宽、行高 10、添加区域,合并单元格 11、保存Excel文件 12、根据单元格不同属性返回字符串数值 13、常用单元格边框格式 14、设置字体和内容位置 15、插入图片 16、调整工作表...

    Python中使用copy模块实现列表(list)拷贝

    引用是指保存的值为对象的地址。在 Python 语言中,一个变量保存的值除了基本类型保存的是值外,其它都是引用,因此对于它们的使用就需要小心一些。下面举个例子: 问题描述:已知一个列表,求生成一个新的列表,...

    freemarker总结

    下面是一个创建库的例子(假设保存在lib/my_test.ftl中): &lt;p&gt;Copyright (C) ${date} Julia Smith. All rights reserved. Email: ${mail} &lt;/#macro&gt; &lt;#assign mail = "jsmith@acme.com"&gt; ? ...

Global site tag (gtag.js) - Google Analytics