package cn.itcast_02;
/*
* 面试题:
* String s = new String("hello")和String s = "hellow";的区别
*
* 有前者创建两个对象,后者创建一个对象。
*
* ==:引用类型的比较,比较的是地址值是否相同
* equals:比较引用类型默认也是比较地址值是否相同,而String类重写equals()方法,比较的是内容是否相同
*
* 字符串如果是变量相加,先开空,在拼接
* 字符串如果是常量相加,是先加,然后在常量池找,如果有就直接返回,否则就创建
*
*/
public class StringDome{
public static void main(String[] args) {
String s1 = new String("hello");
String s2 = "hello";
System.out.println(s1==s2);//输出结果 false
System.out.println(s1.equals(s2));//输出结果true
}
}
String s = new String(“hello“)和String s = “hellow“;的区别
最新推荐文章于 2025-07-03 09:48:22 发布
本文探讨了Java中使用new关键字创建String对象与直接赋值的区别,分析了两者在内存分配上的不同,并通过实例演示了==与equals方法在字符串比较中的应用。此外,还解释了字符串常量池的工作原理。
4005

被折叠的 条评论
为什么被折叠?



