单字符串

Tch*_*ypp 7 java

直到今天,我的观点是,像文字一样"c"创造了一个String对象.今天我听说Java没有为单个字符串创建对象.这是正确的吗?它是否将该文字存储为char

Gia*_*ann 13

不,这是错的.甚至"",创造一个String对象.但是,如果键入'c',则有char而不是String对象.


Tom*_*res 8

"c"将创建一个字符串.'c'将创建一个char


Jac*_*nds 6

即使对于单个字符串,Java也会创建字符串实例.以下打印件java.lang.String:

public class Test{
    public static void main(final String[] args){
        System.out.println("c".getClass().getName());
    }
}
Run Code Online (Sandbox Code Playgroud)


Joa*_*uer 5

"c"是一个String文字.它代表了一个String同样"foo"表示String.

单字符String文字没有特殊处理(甚至不是0字母的String文字"").

无论谁告诉你它被区别对待,要么是a.错误的,要么b.)谈论不同的东西(例如,有特殊处理的图书馆).