【问题标题】:Check if a type is an interface检查类型是否为接口
【发布时间】:2012-11-15 00:00:31
【问题描述】:

我要验证发送给方法的参数,它必须是接口类型。 问什么?

void (Class<I> interfaceType){
  if (thisisnotaninterface){
    throw...
  }
}

【问题讨论】:

    标签: java class validation if-statement interface


    【解决方案1】:

    对于普通的 java 对象,您始终可以使用instanceof。

    如果 Test 实现了 Testable

    Test test = new Test();
    

    test instanceof Testable 将是真的

    【讨论】:

      【解决方案2】:

      只需使用Class#isInterface() 进行检查

      说真的,您应该先阅读 Javadocs,然后再在这里提问。

      【讨论】:

      • 对不起,基本的东西很难找到大家搜索如何检查实例是否实现接口。
      • 好吧,如果你有一个 Class 对象,那么合乎逻辑的事情就是检查 Javadoc 中的 Class。无论如何,很高兴你得到你的答案:)
      【解决方案3】:

      你有一个 Class#isInterface() 方法,它完全符合你的要求:-

      if (!interfaceType.isInterface()) {
          throw...
      }
      

      【讨论】:

        猜你喜欢
        • 2016-10-12
        • 2014-08-20
        • 2016-10-15
        • 2023-03-22
        • 1970-01-01
        • 2019-06-25
        • 2021-12-21
        • 1970-01-01
        • 2018-07-26
        相关资源
        最近更新 更多