这是可能的,如果是这样,我该如何正确地做到这一点?希望能够检查它是否包含1和2,如果是,则继续执行该程序。
import java.util.*;
public class test
{
public static void main(String [] args) {
int[] field = {1, 2};
if (Arrays.asList(field).contains(1) && Arrays.asList(field).contains(2)) {
System.out.println("Hello World!");
}
}
}
答案 0 :(得分:7)
您可以在Java 8中使用IntStream
if (IntStream.of(field).anyMatch(i -> i == 1) &&
IntStream.of(field).anyMatch(i -> i == 2)) {
// has a 1 and a 2
答案 1 :(得分:1)
Arrays.asList
适用于通用类型,int[]
的最接近匹配是Object
。因此,您获得了List
int[]
。您可以在Java 8+中使用IntStream
,如
if (IntStream.of(field).anyMatch(x -> x == 1) &&
IntStream.of(field).anyMatch(x -> x == 2)) {
System.out.println("Hello World!");
}