== 用来比较值是否相等, Equals 用来比较引用相等,意味着比较的不是两个对象,而是两个对象的引用,比较两个对象的引用是否引用的是同一个对象。
一、对值类型
值相等,则相等
二、对于引用类型
1. ==比较的是两个变量的值是否相等,或两个引用是否指向同一个内存地址
2.equals 比较两个对象指向的内存空间的内容是不是相同;
对于引用类型,== 类似于比较的是文件夹的路径是否相同,而 equals 方法比较的是文件夹中的内容是不是一样
==判断值类型,值相等则为true;equals 也一样
系统并没有给 s2 重新分配内存,而是将“test” 指向 s2,这叫做内存的优化
s3 和 s4 是值类型
o3 和 o4 是引用类型,内存中储存的地址不同,则 == 为false
而 内存空间中存储的内容是相同的,所以 equals 为true
是不同的对象,且内容不同,故都为 false
引用的是同一个对象