【问题标题】:Is it possible to initialise an array in the for each loop's condition area?是否可以在 for each 循环的条件区域中初始化一个数组?
【发布时间】:2020-04-05 17:52:37
【问题描述】:

在python中,你可以这样做:

for item in [a, b, c, d]:
    some-code

在java中是否有类似的可能,在for循环条件区域中声明数组?

我的直觉是这样做:

public static void main(String[] args) {
    for (String string : String myArr[] = {a, b, c, d}) {
        some-code
    }
}

但这不起作用

注意:我在提问之前进行了初步搜索,我发现的看似相似的问题 (Initializing an array in Java using the 'advanced' for each loop [duplicate]) 是不同的。

【问题讨论】:

标签: java foreach


【解决方案1】:

嗯,你每天都能学到新东西。显然您可以初始化一个数组,但您必须定义类型,而不仅仅是使用数组初始化程序。

这行得通

        for (String string : new String[] { "a", "b", "c" }) {
            //code
        }

这不起作用,因为它不知道类型。

        for (String string : { "a", "b", "c" }) {
            //code
        }

【讨论】:

  • 非常感谢!另外,是否可以像这样创建一个由其他数组组成的数组?假设您已经准备好其他数组的数据,那么是否可以使用这样的语法定义二维数组?
  • “这不起作用,因为它不知道类型。”不,这不起作用,因为数组初始值设定项语法仅在变量声明的初始值设定项中有效。
  • (如:String[] arr; arr = {}; 也不起作用,尽管关于要创建的数组类型的信息与 String[] arr = {} 一样多)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-12
  • 2012-11-09
  • 1970-01-01
  • 2021-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多