'=='和equals()的区别
用String类型举例来说:“==”是比较这两个字符串的地址,而equals是比较两个字符串的值
代码如下(示例):
String s1 = “hello”;
String s2 = “hello”;
定义了两个长度相等且内容一样的字符串,JAVA中存在一个字符串常量池,在定义s1时,字符串“hello”会缓存进这个字符串常量池,定义s2时它会指向字符串常量池中的“hello”,地址不变,所以用“==”可以比较两个字符串。
代码如下(示例):
String s3 = new String(“hello”);
创建了一个字符串对象,开辟了新的内存空间,所以地址发生变化,此时比较s1和s3字符串是否相等时只能用equals方法,通过比较两个字符串的内容来判断是否相等。