gpt4 book ai didi

java - 如何对泛型类型列表进行 instanceof 检查?

转载 作者:太空宇宙 更新时间:2023-11-04 11:22:28 27 4
gpt4 key购买 nike

我正在编写一个方法,它可以采用 3 个不同对象的不同列表,每个对象都扩展相同的父类(super class)。方法签名如下所示:

private void writeObjectToCsv(File file, List<? extends ZohoData> rawDataView)

我需要知道哪个列表已作为参数传递,因此我想使用instanceof 检查,如下所示:

if (rawDataView instanceof List<ZohoChatData>)

然而,这给了我一个错误,提示“instanceof 的非法泛型类型”(ZohoChatData 在 IDE 中标记为红色)。 ZohoChatdata 扩展了 ZohoData,所以我不明白为什么编译器会给我这个错误。有谁知道吗?

谢谢。

最佳答案

泛型仅在编译时使用,编译后类型将被删除,并且在运行时将不再存在。 instanceof 用于检查对象的类型。所以你不能在像List这样的通用类型类中使用instanceof。要确定列表包含什么类型的对象,gem 解释的方式就足够了。

关于java - 如何对泛型类型列表进行 instanceof 检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44759373/

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