查找数组中是否存在String

tes*_*est 43 java arrays

OK,让我们说,我有充满了一个数组{"管","是","好玩"},然后我有一个JTextField,如果我输入任一这些命令做一些事情之一,如果没有得到这样的消息说"没有找到指令".

我试图寻找在Java文档,但所有我得到的东西,我不希望这样的问题和东西...所以,这是怎么完成的?我知道有一个"数组内"功能,但我把两者结合起来并不太好.

谢谢.

这是我到目前为止:

String[] dan = {"Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue"};
boolean contains = dan.contains(say.getText());
Run Code Online (Sandbox Code Playgroud)

但是我在dan.contains中找不到符号

Pab*_*dez 69

这就是你要找的东西:

List<String> dan = Arrays.asList("Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue");

boolean contains = dan.contains(say.getText());
Run Code Online (Sandbox Code Playgroud)

如果您有一个不重复值的列表,请更喜欢使用Set<String>具有相同contains方法的值


卢声远*_* Lu 34

String[] a= {"tube", "are", "fun"};
Arrays.asList(a).contains("any");
Run Code Online (Sandbox Code Playgroud)


Joh*_*ica 7

使用Arrays.asList()包裹在一个阵列List<String>,它确实有一个contains()方法:

Arrays.asList(dan).contains(say.getText())
Run Code Online (Sandbox Code Playgroud)


Dre*_*ane 5

这可以在Java 8中使用Stream完成。

import java.util.stream.Stream;

String[] stringList = {"Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue"};

boolean contains = Stream.of(stringList).anyMatch(x -> x.equals(say.getText());
Run Code Online (Sandbox Code Playgroud)