请告知下面是从字符串中提取前4个字符的代码,如下所示。
String external = ak.getReference();
String s= external.substring(0,4);
我可以将它包装成一个,这样就不需要创建额外的String了,最后一个字符串外部将一次有四个初始字符 p>
答案 0 :(得分:3)
好吧,你总是可以链接方法调用......
String s = ak.getReference().substring(0,4);
...但这并不意味着不会创建额外的字符串,从Java 7u6开始,substring()
方法将返回一个新的String
对象,其中新分配{{1 (见post)。你只是消除了一个中间局部变量,就是这样。
答案 1 :(得分:0)
无论如何都会创建相同的字符串。编译器无论如何都会优化它。否则@ZouZou的评论是正确的。
String external = ak.getReference().substring(0,4);