直接上区别
比较类里面的数值是否相等时,用 equals()方法;当测试两个包装类的引用是否指向同一个对象时,用==。
上测试代码
public static void main(String[] args) {
String str1 = new String("abc");
String str2 = new String("abc");
String str3 = "abc";
String str4 = "abc";
System.out.println(str1 == str1);
System.out.println(str1 == str2);
System.out.println(str3 == str4);
}
输出结果
true
false
true
引用了人家的一段说明
String 是一个特殊的包装类数据。可以用:
String str = new String("abc");
String str = "abc";
两种的形式来创建,第一种是用 new()来新 建对象的,它会在存放于堆中。每调用一次就会创建一个新的对象。
而第二种是先在栈中创建一个对 String 类的对象引用变量 str,然后查找栈 中有没有存放"abc",如果没有,则将"abc"存放进栈,并令 str 指向”abc”,如果已经有”abc” 则直接令 str 指向“abc”。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于