(十)Equals 和运算符==

== 用来比较值是否相等, Equals 用来比较引用相等,意味着比较的不是两个对象,而是两个对象的引用,比较两个对象的引用是否引用的是同一个对象。
一、对值类型
值相等,则相等

二、对于引用类型
1. ==比较的是两个变量的值是否相等,或两个引用是否指向同一个内存地址

2.equals 比较两个对象指向的内存空间的内容是不是相同;

对于引用类型,== 类似于比较的是文件夹的路径是否相同,而 equals 方法比较的是文件夹中的内容是不是一样


==判断值类型,值相等则为true;equals 也一样


系统并没有给 s2 重新分配内存,而是将“test” 指向 s2,这叫做内存的优化


s3 和 s4 是值类型


o3  和 o4 是引用类型,内存中储存的地址不同,则 == 为false
而 内存空间中存储的内容是相同的,所以 equals 为true



是不同的对象,且内容不同,故都为 false


引用的是同一个对象 

posted @ 2012-06-24 16:49  java程序员-c  阅读(125)  评论(0编辑  收藏  举报