Java String的==和equals

Java String的==和equals
Java String的==和equals
![在这里插入图片描述](https://img-blog.****img.cn/20190530003407190.png
1.就如大家知道的equals在object类中是比较地址的,但是在String 类型中equals被SUN公司重写,可以去比较内存堆里值的大小。所以在String类中是可以用equls来比较堆对象值的大小的。
2.而单纯的是在比较基本数据类型的值的大小,在引用数据类型中则是在比较对象的地址。在String类型中SUN公司并没有重写==方法。所以是错误的。
3.同时String 又引入了常量池的一个定义,这个时候我们所说的比较对象的值和对象的地址在这里仿佛是失了智,现在
和equals比较的是常量池中的值。相当于String引进了常量池让这两个都起了作用,但是一定要注意的是String类型并没有去new一个对象哦!