为什么用==比较两个值相等的String对象,返回值是false?
因为字符串对象是存在常量池中的,两个String对象引用在比较地址值的时候,两个引用都是指向的是堆内存中的两个String对象,堆内存中的两个对象的地址值肯定不相等,所以返回false
图解1
内存图
方法区: 保存类(包括类的成员变量和方法)和一些方法以及静态变量+字符串常量池
字符串常量池: 凡是双引号括起来的都在字符串常量池中有一份
过程
运行代码String s1="abcdef";
程序运行,首先类加载,StringTest01和String类(参数String