是否可以在不创建新String对象的情况下访问Java String的子字符串?

时间:2011-08-25 21:49:11

标签: java string

我只想把它作为自己的“字符串”来阅读,但视图很好 - 我不需要将它作为一个单独的对象来实现。我宁愿不承担创建新对象的开销。

3 个答案:

答案 0 :(得分:5)

您可以使用charAt()方法逐个访问这些字符。如果已经分配了字符数组,则可以将字符复制到其中,然后使用它。这些都不会涉及创建更多对象。但就是这样。

请注意,如果您致电substring(),则String类不会复制基础char[] - 它只会创建新的String对象,并且它们共享char[]

答案 1 :(得分:-4)

不,String对象是不可变的。

答案 2 :(得分:-4)

我唯一能想到的就是将它设置为与原来相同的变量。

例如:

var aString = "test";
aString = aString.substring(2);