为什么String类将常量存储在char数组中而不是String对象中

时间:2013-10-23 09:34:28

标签: java string arrays

JDK中的String类使用private final char value[];来存储常量。我想知道它为什么不使用private final String value

  

是否有任何与性能或内存问题相关的原因?

5 个答案:

答案 0 :(得分:0)

String类显然无法使用本身来存储值。 (这将如何运作?)

必须使用其他来表示字符串。在char数组中的其他内容。

答案 1 :(得分:0)

JDK中的String类用于声明类:很明显,String类不能使用它来存储String。

或许您认为String是Java原语?好吧,它不是!

答案 2 :(得分:0)

根据String Class本身的定义

  

String类表示字符串。

所以,如果你不存储字符,字符串在哪里来了:)?

答案 3 :(得分:0)

  

jdk中的String类使用了私有的最终char值[] ..

此处使用表示'用于定义String类'。 string类的编写者需要一个容器来存储字符串的值,&虽然他还在编写String类,但他们怎么能用呢?

e.g。在组装桌面时,您不必从桌面本身开始 - 您可以从一些基本组件开始,如CPU,屏幕,鼠标,键盘等。

答案 4 :(得分:0)

将String类视为char []的包装。

所以类使用char []来存储有效值...它不能使用String(如你所说)因为String不存在没有存储字符的位置。

换句话说,字符用于字符存储作为基本类型,你不能以不同的方式做。