gpt4 book ai didi

java - hamcrest 匹配器的语法

转载 作者:行者123 更新时间:2023-12-04 04:54:01 26 4
gpt4 key购买 nike

在我们的一个项目中,我偶然发现了以下代码行(它使用 hamcrest 匹配器 1.3):

assertThat(someReport.getSomeException(), Matchers.<SomeException>notNullValue())

两个问题:
  • 有人可以向我解释一下这个语法吗?我从未见过在那种情况下使用 < 和 >。
  • Eclipse 将该行的后半部分突出显示为 en 错误:The method notNullValue() of type Matchers is not generic; it cannot be parameterized with arguments <SomeException> .但是,在命令行上使用 maven 项目构建没有问题。那么为什么会出现错误呢?
  • 最佳答案

  • 这是在调用静态方法时指定泛型参数的正确语法。如果你有以下方法...

    公共(public) T myMethod();

  • 您可以将其称为 MyClass.<String>myMethod() .在许多情况下,类型推断允许不包括 <> .例如上面的工作工作: String myVal = MyClass.myMethod() .
  • Matchers 的 javadoc notNullValue 的签名如下

    公共(public)静态匹配器 notNullValue()

  • 注意 不是通用变量 <T>因此指定一个是不合适的。如果它正在编译,我认为这是因为编译器忽略了它。

    关于java - hamcrest 匹配器的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17042791/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com