Java"=="和"equals"的区别以及常量池的内存图解

mac2026-04-23  8

开门见山-------炼金术师

“==” : 比较的是地址值(基本数据类型比较的是值) “equals” : 比较的是内容 可以理解为你玩AP盖伦玩的很厉害,开局蓝水晶,回家女神泪…0-18-0的战绩,祖安的队友A一直在夸你,过了一会来自祖安的队友B也开始加入夸你的行列,他们夸是同一个盖伦

伪代码为 A 讨论 (我方)盖伦 B 讨论 (我方)盖伦 A讨论= =B讨论 //true 这就是"= ="

恰好这把对面也是盖伦,队友C羡慕的说看看别人家孩子 伪代码为 C 讨论 (对面)盖伦 A讨论= =C讨论 //false A讨论.equals(C讨论) //true 因为都是盖伦,内容是是相同的

按照笔者的出装进行游戏可以加强对知识点的理解和印象

代码辅助-------德玛西亚

public class Demo_String { public static void main(String[]args){ String str1="abc"; String str2="abc"; char[]charArray={'a','b','c'}; String str3=new String(charArray);//内容相当于new String("abc"); str1==str2;//true str1==str3;//false str1.equals(str2);//true str1.equals(str3);//true } }

内存图解-------金色传说

字符串常量池:程序当中直接写上双引号的字符串才在字符串常量池中 JDK1.7及:栈内存 JDK1.6及以前:方法区里的一个空间 以上就是笔者的一点想法,希望可以帮助大家

最新回复(0)