如何将数组连接到字符串(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循环我如何实现这一点?我们有一种简单的方法来实现它reversesomeString.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);