gpt4 book ai didi

java - 在 Java 中实现接口(interface)的 Class<> 类型的变量赋值

转载 作者:行者123 更新时间:2023-11-30 02:42:14 26 4
gpt4 key购买 nike

我想创建一个Class类型的变量,它实现一些接口(interface)。

喜欢:

Class<List<String>> b = ArrayList.class;

但是当我尝试这样的事情时,它会提示类型不兼容,因为泛型充满了具体的类。

有办法做到这一点吗?

我想这样做是为了以后的类型安全。我知道当我不关心类型安全时它会起作用,但如果可以的话,我宁愿以类型安全的方式进行。

最佳答案

您实际上可以使用Class<List<String>> b = (Class)ArrayList.class; 。它可以编译,不会抛出异常并提供类型安全。

你不能只使用 Class<List<String>> b = ArrayList.class; 的原因是因为ArrayList.class不是Class<List<String>>类型,而是一个原始类型 class类型。将其转换到 Class删除原语和通配符。

关于java - 在 Java 中实现接口(interface)的 Class<> 类型的变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41297729/

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