- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 X509 证书。我正在尝试从中提取所有 SAN。之后,我想确保 SAN 的类型为 dNSName - 即列表中的第一个条目应该是值为 2 的整数。引用- https://docs.oracle.com/javase/7/docs/api/java/security/cert/X509Certificate.html#getSubjectAlternativeNames()
下面的表达式无法编译说“无法比较的类型捕获和 int”
certificate.getSubjectAlternativeNames().stream().allMatch(x -> x.get(0) == 2)
但是,下面的表达式返回 True。
certificate.getSubjectAlternativeNames().stream().allMatch(x -> x.get(0).toString().equals("2"))
我不想将其转换为字符串,然后将其与字符串匹配。我只是想在这里进行整数比较。我该怎么做?
最佳答案
I simply want an Integer comparison here.
您应该能够在 List
的第一个元素上简单地调用 Object#equals
:
certificate.getSubjectAlternativeNames()
.stream()
.allMatch(x -> x.get(0).equals(2))
因为 List
的泛型类型是捕获类型 ?
,编译器将无法推断出 Object
的类型就在其中,并且不允许您将它与基元(直接)进行比较。
List<List<?>> list = List.of(List.of(1, 2, 3));
System.out.println(list.stream().allMatch(x -> x.get(0).equals(1)));
输出:
true
关于java - Java 流 allMatch() 中无法比较的类型捕获和 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50124980/
我有几个 predicates我都想得到满足。 能满足那些谓词的东西是少数字符串。单个字符串不必满足所有(或任何)这些谓词,但在我查看最后一个字符串后,所有谓词都必须满足。 我用 Java 表示这个问
在 allmatch 的情况下,我想找出哪个元素使谓词失败。 List numbers = Arrays.asList(1, 2, 3, 4, 5); boolean isEven = numbers
令我困扰的是(出于性能原因),如果不先创建流,我就无法在列表上调用 allMatch、anyMatch。所以我开始创建这样的实用方法: public static boolean anyMatch(
我想对 Java 流使用一条语句。 我想过滤所有要求为“true”的 Servicework 对象,然后检查所有 Servicework 对象的状态是否为“完成”。 但是如果 serviceworkL
我有以下流代码: List results = items.stream() .map(item -> requestDataForItem(item)) .filter(data ->
我有 X509 证书。我正在尝试从中提取所有 SAN。之后,我想确保 SAN 的类型为 dNSName - 即列表中的第一个条目应该是值为 2 的整数。引用- https://docs.oracle.
我想要以下逻辑:(我知道它不起作用,因为它不止一次消耗流)。但我不确定如何实现它。 Stream buffers = super.getBuffers().stream(); if (buffers.
int testValue; boolean success = false; while(success == false) { testValue = generateRandomInt();
我的同事和我遇到了一个错误,这是由于我们假设调用 allMatch() 的空流将返回 false。 if (myItems.allMatch(i -> i.isValid()) { //do
我想使用以 allMatch 终端操作结束的单个流链获得一个 false 值。 但是,我发现由于allMatch操作的设计,它在处理空流时会返回true。 例如,以下代码返回 true,因为过滤后的流
这个问题已经有答案了: Why does Stream.allMatch() return true for an empty stream? (6 个回答) 已关闭 4 年前。 每Java SE 8
我在另一篇文章中读到,经过调查发现 anyMatch 终端操作的工作方式是每个线程(在子流上操作)定期检查其他线程是否已找到结果,如果是,则所有其他线程都是停止了。 我假设,但想知道是否有人可以验证
考虑这个片段 - String a = "hello" , b = null, c = "guru"; boolean value = Stream .of(a, b, b.substrin
我是一名优秀的程序员,十分优秀!