字符串类与其他类的区别如何?

Kan*_*j M 3 java string

我们可以做的:

String string = "ourstring";

但我们不能为用户定义的类创建这样的对象:

UserClass uc="";

Java如何允许我们直接将值设置为java.lang.String类?

Vit*_*aly 6

java.lang.String 是一个特殊的课程.

随意阅读http://docs.oracle.com/javase/7/docs/api/java/lang/String.html

它说

String类表示字符串.Java程序中的所有字符串文字(例如"abc")都实现为此类的实例.

...

Java语言为字符串连接运算符(+)提供特殊支持,并为其他对象转换为字符串.字符串连接是通过StringBuilder(或StringBuffer)类及其append方法实现的.字符串转换是通过方法toString实现的,由Object定义并由Java中的所有类继承.有关字符串连接和转换的其他信息,请参阅Gosling,Joy和Steele,Java语言规范.

没有其他类可以从Java语言获得这种特殊支持.

你应该非常小心它的+功能:它被广泛讨论为对性能和内存不安全.