如何从底层逻辑理解:
String s1 = new String(“hello”);
String s2 = “hello”;的区别
前者在使用时创建了两个对象,一个在堆内存中,一个在方法区中
new的含义是实例化,狗类 阿黄=new 狗类();意思是:阿黄是狗类这种类,同时他的名字叫做阿黄。
String s1 = “hello,world”
String s2=”hellow,world”
所以说 Systeam.out.println(s1=s2)结果为true。
String s1 = new String(“hello”);
String s2 = new String(“hello”);
所以说对于new来说实例化了,s1和s2本质上确实不是同一个东西,所以Systeam.out.println(s1=s2)是false。
补充:(更好的理解底层逻辑:内存):
对于boolean型来说如何写精简的判断逻辑:
if (s1=true);等价于 if (s1)
原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/277347.html