【发布时间】:2018-06-19 09:22:56
【问题描述】:
每个人都知道,在进行任何强制转换之前,我们必须使用 instanceof 检查对象类型,但是,对于泛型,编译器不允许我们像这样使用泛型检查它。
if(object instanceof List<Message>)
我正在调查它的解决方案,有人说我们只需要与List 核对,但这对我无效。
我还检查了一些开发人员推荐使用isAssignableFrom,但它需要object 才能拥有一个实例。
那么如何在不创建技巧对象的情况下检查该对象是Message 的List (而不仅仅是一个列表)?
【问题讨论】:
-
你没有有使用
instanceof来投射。事实上,如果你做了很多未知的演员表,你很可能有一个你应该修复的设计缺陷。 -
在使用泛型时应该使用PECS。当然,这只有在列表中的所有元素都满足条件/约束时才有效。
标签: java instanceof