import java.util.*;public class TestListAdd { public static void main(String[] args) { List list = new ArrayList(); List list1 = new ArrayList(); list.add(list1); list1.add("a"); System.out.println(list); int b=0; int a=b; b=8; System.out.println(a); }}
list集合里面的值可以后改变
简单string里面的值就改变不了
结果:
[[a]]0
List是引用类型,引用类型的赋值只是地址的赋值,这点跟基本类型不一样。
基本类型赋值时 值数据类型赋值 赋值了之后 就不会再改变了。
参考 :http://blog.csdn.net/jww15856816327/article/details/26277927
基本类型(数据类型): int,string等类型
引用类型:类(class),接口(interface),数组
直接打印的话是对象的地址 。
类,也即是对象,包括各种属性,各种方法。常规的基本数据类型例如int类型,在使用的时候,直接使用int进行数据的初始化,例如int a=3;这个语句也即是我定义了一个整数类型的变量a,它的值是3。而引用数据类型,例如People p=new People(“张三”);这就是定以一个类,并进行实例化操作,但这里的p就是代表张三这个类吗?我可以说p就是一个类吗?其实这样的说法不正确,因为我们知道,类是引用数据类型的变量,何为引用数据类型,也就是我new实例化了一个对象,并将其属性值放入相应的存储空间,以堆为例,然后我们定义了一个People类型的句柄,并将上述实例化的对象的地址交给句柄,很象是赋值语句,但这里赋值给p的只是该对象的地址。
new一个对象,也就是说创建了一块地址内存,就占用那块地址,类型引用。
没有伞的孩子必须努力奔跑!