首页 > 解决方案 > java中的静态数组和循环

问题描述

我有一个静态数组,它是:String[] tab = {"Eva", "Ali", "David", "Maxime"};

如果名称大于 4 个字符,我必须将项目放在另一个数组中。我知道如何使用数组列表来做到这一点,但我想尝试使用静态数组。

这是我的代码的一个想法,但我陷入了循环。

class Main {

    public static void main(String[] args) {
        String[] tab = {"Eva", "Ali", "David", "Maxime"};

        for (String elt : tab) {
            if (elt.length() > 4) {
                // ????
            }
        }
    }
}

谢谢您的帮助。

标签: javaarrays

解决方案


不可能创建一个开放大小的数组,您必须定义数组中可以包含的元素数量,但是如果您使用的是 Java8,则可以像这样使用流:

String[] result = Arrays.stream(tab)
        .filter(elt -> elt.length() > 4)
        .toArray(String[]::new);

像这样你不需要在填充它之前定义结果数组,你甚至不需要大小。


推荐阅读