Java 在方法调用中声明一个 String 数组

标签 java string methods

我正在尝试在方法调用中声明一个字符串数组,如下所示:

if (emailYaml.keySet().containsAll(new String[]{"mailto","subject","text"}))

我不完全确定这是否是最好的方法(我是编程新手),但无论如何 Eclipse 告诉我:

The method containsAll(Collection<?>) in the type Set<String> is not applicable for the arguments (String[])

谁能帮忙解决一下?

非常感谢

最佳答案

数组不是Collection 的子类型。例如,在将其传递给 containsAll 之前,将其转换为 List:

.containsAll(Arrays.asList(new String[] {"mailto", "subject", "text"}))

或者更简单,因为 asList 将可变参数作为参数:

.containsAll(Arrays.asList("mailto", "subject", "text"))

关于Java 在方法调用中声明一个 String 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15006416/

相关文章:

java - 为什么会出现 "No com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle registered with name: default"错误以及如何解决?

android - 从字符串创建 xml 文件

swift - 方法中使用的协议(protocol)静态变量

java - 如何更改对象实例并在同一方法中返回值?

java - 如何使用java查询Jenkins

java - 转换 Java 7 的 IntStream 过滤器函数

python-3.x - 如何从电影数据集中提取用户评分

python - 使用字典和正则表达式重命名列名

c++ - 在 C++ 中将数组作为方法的 const 参数传递

java - 在多线程环境下如何发现ThreadPoolTask​​Executor已满?