在Java中,String可以说是一个数据类型,也可是说是一个数据类型,我们知道Java中,数据类型分为基本数据类型和引用数据类型,引用数据类型包括:类,接口,数组,由于String 是类,所以它又是引用类型。
今天敲代码发现有意思的现象:
String a="ads";
String b="ads";
System.out.println(a==b);
//发现输出的是true;
//而这样写:
String a=new String("ads");
String b=new String("ads");
System.out.println(a==b);
//发现输出的是false;
为什么两种情况不一样?
我们知道==比较运算符比较的是地址是否相同,
即判断是否是一个对象。
如何理解?
答:
第一种情况:
第二种情况:



