循环的简写迭代String数组的每个字符?

时间:2015-09-18 03:17:42

标签: java loops iteration

我在想这样的事情:

public class Test {
    public static void main(String[] args) {
        String[] test = new String[]{"123","234", "345","456"};
        for (String s: test ) {
            for (char c : s.charAt) {
                System.out.println(s);  
            }
        }
    }
}

所以外循环工作正常,但我不知道如何使用inner.loop

5 个答案:

答案 0 :(得分:2)

...关闭

payload

for (String s: test ) { for (char c : s.toCharArray()) { System.out.println(s); } } 返回单个char元素,而您需要整个数组。根据文档,s.charAt(int)返回

  

新分配的字符数组,其长度为此字符串的长度,其内容初始化为包含此字符串表示的字符序列。

答案 1 :(得分:0)

使用,

s.toCharArray()

这将提供代表char[]的{​​{1}}。 例如:

String

答案 2 :(得分:0)

toCharArray()

for (char c : s.toCharArray())

而不是

for (char c : s.charAt)

答案 3 :(得分:0)

Java 8:

Arrays.stream(test)
      .flatMap(s -> Arrays.stream(s.toCharArray()))
      .forEach(System.out::println)

答案 4 :(得分:0)

试试这个没有lambda的java 8代码:

\foo\bar::foo_bar();