Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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_Arrays - Fatal编程技术网

如何将数组连接到字符串(Java)?

如何将数组连接到字符串(Java)?,java,arrays,Java,Arrays,假设有一个数组: String[] myArray = new String[]{"slim cat", "fat cat", "extremely fat cat"}; 现在,我想将这个数组转换为带有标记“&”的字符串,其值为: 苗条猫、肥猫和极肥猫 如何在不使用for循环的情况下实现这一点?我指的是最简单的解决方案,就像我们过去使用的相反方式,比如someString.split()编辑:为什么没有for循环 使用StringBuilder StringBuilder builder =

假设有一个数组:

String[] myArray = new String[]{"slim cat", "fat cat", "extremely fat cat"};
现在,我想将这个数组转换为带有标记“&”的字符串,其值为:

苗条猫、肥猫和极肥猫


如何在不使用
for
循环的情况下实现这一点?我指的是最简单的解决方案,就像我们过去使用的相反方式,比如
someString.split()

编辑:为什么没有for循环

使用StringBuilder

StringBuilder builder = new StringBuilder();
builder.append( myArray.remove(0));

for( String s : myArray) {
    builder.append( "&");
    builder.append( s);
}

String result = builder.toString();

使用的
Joiner
StringJoiner

如果不在数组上进行某种迭代,就无法完成此工作。即使是提供某种形式的
join()
函数(不包括Java 关于使用Java 8在Java中执行此操作的最简单方法:

String result = String.join("&", myArray);
使用Java7或更早版本,您需要循环或递归

您可以使用并重写结果。大概

String[] myArray = { "slim cat", "fat cat", "extremely fat cat" };
String str = Arrays.toString(myArray).replace(", ", "&");
str = str.substring(1, str.length() - 1);
System.out.println(str);
输出为(按要求)

苗条猫、肥猫和极肥猫


注意,这仅在您的输入中没有
,“
时有效(如此处所示)。

请查看。这个库与许多版本的JDK兼容,正如您所看到的,您有许多被重写的方法。

他已经清楚地说明了..不使用for循环我如何实现这一点?我们有一种简单的方法来实现它reverse
someString.split()。所以我认为这应该是从
数组创建标记化
字符串的一种非常简单的方法,这将有助于解释为什么不想使用
for
循环。
while
循环是否正常?将循环隐藏在助手方法、库、JDK中可以吗?我如何在没有匹配的情况下点火?Super:)我在想为什么现在才在Java8中引入此方法。。。非常有用。@ErnestasGruodis我想很多人都有同样的想法。我想知道为什么Java仍然没有一种方法可以让你通过n次连接另一个字符串或字符来创建一个字符串,因为这是我非常需要的。除非如果
,“
是其中一个字符串的子字符串,则它不起作用。@ajb Correct。添加了一个注释。
String[] myArray = { "slim cat", "fat cat", "extremely fat cat" };
String str = Arrays.toString(myArray).replace(", ", "&");
str = str.substring(1, str.length() - 1);
System.out.println(str);