Java8检查Integer []数组中是否存在给定的整数

时间:2018-02-03 00:28:47

标签: java-8

我有一个Integer数组如下。

Integer[] nums = new Integer[]{1,2,3};
Integer inputNum = 3;

我想检查这里是否有3个。

尝试使用下面的代码,但它并不适用,Integer []。

IntStream.of(nums).anyMatch(num -> num == inputNum);
  

IntStream java.util.stream.IntStream.of(int ... values)

Java 8有没有更好的方法?

1 个答案:

答案 0 :(得分:2)

您目前有一个Integer[],因此您可以使用Stream.of代替IntStream.of

IntStream.of仅采用原始整数,而Stream.of则用于引用类型。

boolean isPresent = Stream.of(nums).anyMatch(num -> Objects.equals(num, inputNum));

但我更倾向于在这种情况下使用Arrays.stream而不是理想世界中的XXX.of方法,只有在您要提供显式值时才应使用它们。

boolean isPresent = Arrays.stream(nums).anyMatch(num -> Objects.equals(num, inputNum));