可以把java中的String的特殊性说仔细一点吗?

来源:百度知道 编辑:UC知道 时间:2024/07/01 04:55:26
作为一名java初学者,希望你能讲的更仔细一些,谢谢!

没有参照物,怎么说"特殊性"?
那就简单的说一下 java.lang.String 吧..
可以看出,String是一个Object类型,所以能够调用它的很多接口,如:new String("test").subString(0);等..
但是String作为一个Object,它又有一定的特殊性,它也支持很多操作符,如:
"test" 即 : new String("test")
"hello"+"world" 即 : new String("hello").concat("world")

由于String的这些特性,可以把String看作是包装类(如Integer).

开发中需要注意:
String是一个常量,String a = "A";是定义了一个标识符 a 引用内存中的 "A" ,"A" 在内存中是不变的.所以"A"+"B",实际上是分配了新的内存"AB",然后返回.

初学的话,只关心接口返回的结果就可以了,不需要关心内存的机制.

来自:求助得到的回答

String就是java中的字符串,用双引号引起来的几个字符.如"Abc","一天".
(注意:单引号是字节类型)
可以用这两种方式创建
1.String s1 = "ABCD";
2.String s2 = new String("ABCD");
字符串是 Unicode 字符的有序集合,用于表示文本。String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。
String 对象称为不可变的(只读),因为一旦创建了该对象,就不能修改该对象的值。看来似乎修