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