有没有一种方法可以在不使用 for 循环的情况下打印字符串数组?

57

在Java中是否有像toString()一样打印字符串数组的函数?

这是一个愚蠢的问题,但我想知道除了写for循环之外还有没有其他方法。

谢谢。


你想将一个字符串数组合并成一个字符串吗? - strager
7个回答

97
String[] array = { "a", "b", "c" };
System.out.println(Arrays.toString(array));

当我想到字符串连接时,通常会想到带有分隔符的字符串连接,除非在非常特定的情况下。 - TheLQ
如果我们有一个字符串数组,并且想要简单的输出,例如:String[] array = {"John", "Mahta", "Sara"},我们希望输出时没有括号和逗号,即 John Mahta Sara,该怎么办? - Hengameh

12

5
иҮӘJava 8иө·пјҢеҸҜд»ҘдҪҝз”ЁString.join(",", anArray)пјҢеӣ жӯӨдёҚйңҖиҰҒеӨ–йғЁеә“гҖӮ - Pshemo

5

有一个Arrays.toString()方法,可以将一个数组转换为其内容的字符串表示形式。然后您可以将该字符串传递给System.out.println或您正在使用的任何其他打印工具。


2
如果您需要更多对字符串表示的控制,Google Collections Joiner 可以帮助您!
String[] myArray = new String[] {"a", "b", "c"};
String joined = Joiner.on(" + ").join(myArray);
// =>  "a + b + c"

1

我想你正在寻找

System.out.printf(String fmtString, Object ... args)

在这里,您可以使用一些自定义的Java标记指定输出格式(这是您需要学习的唯一部分)。第二个参数是对象,在您的情况下是字符串数组。

更多信息: 使用Java的Printf方法


1

使用 op4j,

String[] myArray = new String[] {"a", "b", "c"};

System.out.println(Op.on(myArray).toList().get());

这真是一个很棒的库! - Lukas Eder

0
String[] values= { ... }
System.out.println(Arrays.asList(values));

如果我们有一个字符串数组,并且想要简单的输出,例如:String[] array = {"John", "Mahta", "Sara"},我们希望输出时没有括号和逗号,即 John Mahta Sara,该怎么办? - Hengameh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接