编程语言
首页 > 编程语言> > 自学java基础day1

自学java基础day1

作者:互联网

如何从底层逻辑理解:

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)

 

 

 

 

 

 

标签:java,String,s2,s1,day1,new,自学,阿黄,hello
来源: https://www.cnblogs.com/xiaobai-xulei/p/16525770.html