185 01 Android 零基础入门 03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别 185 01 Android 零基础入门 03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别 等于运算符与equals方法的区别

185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
等于运算符与equals方法的区别

本文知识点:等于运算符与equals方法的区别

说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步

等于运算符与equals方法的区别

185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
等于运算符与equals方法的区别
为什么产生如下的运行结果呢?
185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
等于运算符与equals方法的区别

注:
栈 :存放类的引用
常量池:存放字符串常量
堆:存放用new创建的对象(本例中是字符串对象)

185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
等于运算符与equals方法的区别

原因如下:
185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
等于运算符与equals方法的区别

下图非常重要,可以很好地帮助我们分析引用和内存地址的关系
185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
185 01 Android 零基础入门  03 Java常用工具类03 Java字符串 02 String类 05 等于运算符与equals方法的区别
等于运算符与equals方法的区别