【问题标题】:Test if Object is a generic list of specific type测试 Object 是否是特定类型的通用列表
【发布时间】:2014-02-11 12:45:54
【问题描述】:

由于各种原因,我的一个方法接受一个通用的Object 参数。该方法的作用取决于实际类型,所以我做了一些 instanceof

现在,在一种特定情况下,我需要检查类型是否为 Iterable。

我发现带有泛型的 instanceof 不起作用。

x instanceof Iterable<Integer>

那么除了循环遍历每个元素并测试它们的类型之外,还有哪些替代方法?

【问题讨论】:

    标签: java generics instanceof


    【解决方案1】:

    如果您无法影响方法的签名或您获得的 Iterable 实例,则无法区分例如Iterable&lt;Object&gt; 仅包含来自 Iterable&lt;Integer&gt; 实例的整数。它们在各方面都是相同的;事实上,“Iterable&lt;Integer&gt; 的实例”这个概念本身就含糊不清。实例是运行时工件,构造函数类型参数是编译时工件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-11
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-16
      • 2019-07-28
      • 1970-01-01
      相关资源
      最近更新 更多