当前位置: 首页 > 知识库问答 >
问题:

如何将列表从子类泛型转换为父类泛型?

堵昊焱
2023-03-14

我正在修改open JDK以添加特性,我已经遇到了两次,但没有好的解决方案

Type safety: Unchecked cast from List<capture#1-of ?> to List<JCTree>

共有1个答案

百里金林
2023-03-14

这似乎是列表或泛型类型集合的一个问题。

最简单的解决方案

ListBuffer<JCTree> ls = new ListBuffer<JCTree>();
for(JCVariableDecl v : params){ ls.append(v); }
return ls.toList();
 类似资料:
  • 我在我的一个实用程序类中有一个方法,它接受一个集合和一个类对象,并返回一个Iterable实例,该实例可以遍历作为指定类实例的集合的所有成员。其签名为: 这对于大多数用例都非常有效,但现在我需要将其与泛型类

  • 我想说得具体一点。我有一个名为Result的类和一个名为Result的派生类 这些类在方法中用作返回类型。为此,我创建了这个helper类: 正如您所看到的,上面的代码对于成功有两种返回类型,一种是如果您不想返回任何东西,另一种是如果您想返回一些东西,但是失败的结果永远不会返回什么东西。这是不必要的,只是一个错误消息。这使我想到以下问题:当我想创建一个可以使用返回类型返回Success,而不使用返

  • 我正在尝试有一个通量通用转换器使用通用类型在Java 8。我把我的代码建立在这个答案的基础上。其思想基本上是实现这个特定的转换器->: 类型转换器->转换为我想要的任何类型。因此,我正在使用构造函数创建一个类型为的类,并返回一个方法。我想在调用上创建类似这样的多个条目:,但类类型不同。但它甚至对整数也不起作用。 当我使用此单元测试进行测试时,我得到错误:。

  • 在下面来自的语法中,泛型类型参数在实例化原始类型数组后用于类型转换,

  • 问题内容: 例如,假设你有两个类: 我有一个返回a的方法,List 并且我想将列表中的所有对象都强制转换为,TestB以便最终得到 问题答案: 简单地铸造几乎可行;但这是行不通的,因为你不能将一个参数的泛型类型转换为另一个参数。但是,你可以强制转换中间通配符类型,并且将允许它(因为你可以强制转换为通配符类型或从通配符类型强制转换,只是带有未选中的警告):

  • 我有一个类似于Pairs的类。我有一个特性,可以将这个类转换成Json格式。 当我使用这个特性时,我得到了以下错误,即对于