【问题标题】:Java: How should look an instanceof methodJava:应该如何看待 instanceof 方法
【发布时间】:2009-12-17 08:43:24
【问题描述】:

想象一下,我想写一个无用的方法,叫做:isInstanceof,它返回一个boolean
我在想。但我不出去。 instanceof 必须像这样使用:

[object] instanceof [a classname]

// I was thinking about something like this
public static boolean isInstanceof(Object obj, /*magic for the second param*/)
{
   return obj instanceof /*the magical second param*/
}

但是我怎样才能为[a classname] 做一个参数呢?如果没有来自java.lang.Class 的方法isInstance(Class cls),有没有办法做到这一点?

谢谢

【问题讨论】:

    标签: java instanceof


    【解决方案1】:

    呵呵,是的。使用来自ClassisAssignableFrom(Class)。它不仅不是isInstance(Class),它还与instanceof 运算符的工作方式更接近。 :)

    除此之外,不,如果没有来自Class 的这些方法,您将无能为力。

    【讨论】:

    • 谢谢,你的最后一个序列正是我要找的那个。
    【解决方案2】:

    动态版本

    [object] instanceof [a classname] 
    

    应该是:

    Class.forName("a classname").isAssignableFrom(object.getClass());
    

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 2010-11-21
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 2021-04-17
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多