- String 是常量,一旦创建,值就不能改变
翻开源码你可以看到 它由 final修饰
那么String 和 new String("xx");有什么区别?
下面先看下代码
-
public class Str { public static void main(String[] args) { String st1 = "abc"; String st2 = new String("abc"); String st3 = "abc"; System.out.println(st1 == st2); // false System.out.println(st1.equals(st2));// true System.out.println(st1 == st3);// true } }
str1 是new了一个对象,当值在字符串池中不存在,就会把值放在 池中,后面如果再创建,就不会再创建,而是直接从池中拿过来直接用
str2 是二个对象 一个放在池中,一个自己的对象
时间: 2024-10-15 17:05:33