Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 一次性从字符串中提取初始字符_Java_String - Fatal编程技术网

Java 一次性从字符串中提取初始字符

Java 一次性从字符串中提取初始字符,java,string,Java,String,请注意,下面是从字符串中提取前4个字符的代码,如下所示 String external = ak.getReference(); String s= external.substring(0,4); 我是否可以将其包装成一个字符串,这样就不需要创建额外的字符串,并且最终字符串外部将一次包含四个初始字符 String s = ak.getReference().substring(0,4); 。。。但这并不意味着不会创建额外的字符串,从Java 7u6开始,substring()方法将

请注意,下面是从字符串中提取前4个字符的代码,如下所示

String external = ak.getReference();    
String s= external.substring(0,4);

我是否可以将其包装成一个字符串,这样就不需要创建额外的字符串,并且最终字符串外部将一次包含四个初始字符

String s = ak.getReference().substring(0,4);

。。。但这并不意味着不会创建额外的字符串,从Java 7u6开始,
substring()
方法将返回一个新的
string
对象,其中包含一个新分配的
char[]
(参见此)。您只是在删除一个中间局部变量,仅此而已。

无论发生什么情况,都将创建相同的字符串。编译器无论如何都会优化它。否则@ZouZou的评论是正确的

String external = ak.getReference().substring(0,4);

stringexternal=ak.getReference().substring(0,4)?额外字符串是指额外的字符串引用还是字符串对象?以后是不可能的。