我正在尝试编写一个需要尽可能短的Java类(逐行)。在我的课堂上,我有以下代码:
char[] myArray = {'a', 'b', 'c', 'd'};
for(char c : myArray) ...
为了缩短这一点,因为我将一直在迭代相同的字符,我想我可以做这样的事情:
for(char c : {'a', 'b', 'c', 'd'}) ...
然而,这不起作用,我在网上找不到任何东西告诉我如何做到这一点(我不确定要搜索什么)。
这可能以不同的方式吗?或者这不能缩短吗?
答案 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) ...