在For循环中对数组进行硬编码

时间:2016-04-06 13:55:14

标签: java

我正在尝试编写一个需要尽可能短的Java类(逐行)。在我的课堂上,我有以下代码:

char[] myArray = {'a', 'b', 'c', 'd'};
for(char c : myArray) ...

为了缩短这一点,因为我将一直在迭代相同的字符,我想我可以做这样的事情:

for(char c : {'a', 'b', 'c', 'd'}) ...

然而,这不起作用,我在网上找不到任何东西告诉我如何做到这一点(我不确定要搜索什么)。

这可能以不同的方式吗?或者这不能缩短吗?

5 个答案:

答案 0 :(得分:5)

您需要数组的类型标识符以及

for(char c : new char[] {'a', 'b', 'c', 'd'})  {
   ...      
}

答案 1 :(得分:3)

你所追求的是for(char c : new char[] {'a', 'b', 'c', 'd'}) ...没有new char[]的语法只是为了方便,如果在变量的定义中使用,因为可以清楚地推断出类型。

答案 2 :(得分:2)

你可以这样做:

for(char c : new char[]{'a', 'b', 'c', 'd'}) ...

答案 3 :(得分:2)

如果字符形成连续模式,则可以使用

for (char c = 'a'; c <= 'd'; c++)

如果他们没有,你可以使用

for (char c : new char[] {'c', 'a', 'b'})

char[] arr = {'c', 'a', 'b'};   
for (char c : arr)

for (char c : "cab".toCharArray())

答案 4 :(得分:1)

作为其他答案中明显解决方案的替代方案, 如果您是代码高尔夫球手,为什么不在一行中写下全部内容。

char[] a={'a','b','c','d'}; for(char c:a) ...