java中字符串特性

来源:互联网 发布:荣威e550知乎 编辑:程序博客网 时间:2024/06/07 14:09

字符串特性

1. 字符串常量和字符串池

Char[] name=new String(name);

Char[] name=new String(name);

System.out.println(name1==name2);

输出结果为:false

因为name1和name2分别参考至创建出来的String对象(new一定是建立新对象),所以运行结果是false

String name1=“Justin”;

String name2=“Justin”;

System.out.println(name1==name2);

运行结果为:true

JAVA中为了考虑效率,以“”包括的字符串,只要内容相同(序列、大小写相同),无论在程序代码中出现几次,JVM都只会建立一个String实例,并在字符串池维护。所以name1和name2参考的是同一个对象。

运行结果为:true

总结:如果想比较对象实质内容是否相同,不要使用==,要使用equals().同样的,如果想比较字符串实际字符内容是否相同,不要使用==,要使用equals().

2. 不可变动字符串

Java中,字符串对象一旦建立就无法更改对象中任何内容,对象上没有任何方法可以更改字符串内容。但是以下程序却是可以运行的:

String name1=“Java”;

String name2=name1+Worlld;

System.out.println(name2);

运行结果会显示:JavaWorld

简单地说,使用+连接字符串会产生新的String实例。