我有一个实用程序方法,可以从某些对象中创建一个元素列表:

public static final List list(T t) {

final List rv = new ArrayList<>();

rv.add(t);

return rv;

}

我也有一个接受类型为List< Class>的参数的方法.因此,我必须创建该类型的对象.这是我尝试做的事情:

final Class> aClass = Integer.class;

final List> trivialListOfClasses = list(aClass);

……这失败了:

[javac] /some/path/Foo.java:41: error: incompatible types

[javac] final List> trivialListOfClasses = list(aClass);

[javac] ^

[javac] required: List>

[javac] found: List>

[javac] where CAP#1 is a fresh type-variable:

[javac] CAP#1 extends Object from capture of ?

[javac] 1 error

完成上述任务的正确方法是什么?我了解有关Java泛型不变的部分,但是到底发生了什么?

解决方法:

能够在Javac 1.8.0_144上使用-source 7 -target 7进行复制.

如果您只打算从列表中删除东西,那么一件有用的事情就是使用?扩展Class

Class> aClass = Integer.class;

List extends Class>> trivialListOfClasses = list(aClass);

Class> bClass = trivialListOfClasses.get(0); // works

// trivialListOfClasses.add(String.class); // doesn't work, though

也可以在列表调用中手动提供通用类型:

Class> aClass = Integer.class;

List> trivialListOfClasses = Util.>list(aClass);

Class> bClass = trivialListOfClasses.get(0); // works

trivialListOfClasses.add(String.class); // also works

似乎编译器无法调和List< Class>的通配符类型.由列表本身返回的那个.

标签:generics,java-7,java

来源: https://codeday.me/bug/20191025/1928826.html

java 创建类带泛型_java-创建泛型类列表相关推荐

  1. java反射类带构造函数_java中反射类的加载和构造函数

    我们先创建了一个Person类 package reflect; public class Person { public String name = "zhangsan"; pu ...

  2. Python基础笔记_Day12_Python元类、type动态创建类、Python动态创建方法、Python运算符、Python发邮件、短信

    Day12_Python元类.type动态创建类.Python动态创建方法.Python运算符重载.Python发邮件.短信 12.01_Python语言基础(类对象)(熟悉) 12.02_Pytho ...

  3. java 类 方法 带泛型_java中的泛型类和泛型方法

    1.泛型是什么? 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类. 可以在集合框架(Collection fram ...

  4. java建立类的思想_JAVA类和对象创建

    面向对象 学习目标: 理解面向对象的编程思想 理解类与对象的关系 如何创建类与对象 方法重载 一:什么是面向对象编程(OOP) 面向对象编程(Object Oriented Programming,O ...

  5. java创建数组的方式_Java创建数组的几种方式总结

    1.一维数组的声明方式: type[] arrayName; 或 type arrayName[]; 附:推荐使用第一种格式,因为第一种格式具有更好的可读性,表示type[]是一种引用类型(数组)而不 ...

  6. java创建文件夹代码_Java创建文件夹及文件实例代码

    package com.xhkj.util; import java.io.File; import java.io.IOException; public class CreateFileUtil ...

  7. java对类对象初始化_Java类和对象初始化

    Java类和对象初始化Tag内容描述: 1.解析 Java 类和对象的初始化过程 由一个单态模式引出的问题谈起 北京高伟达西南分软 Java EE 软件工程师 三年 Java EE 项目经验 行业方向 ...

  8. java流类图结构_java I/O 流总结

    一.java 流操作有关的类和接口: 类                                                                          说明 Fil ...

  9. java流类图结构_java学习之IO流(学习之旅,一)

    个人在学习IO流的时候看到如下所示java 流类图结构的时候,我的感想是,这么多··处于蒙的状态. Java流类图结构 这么多,没有分类不好学,那我们就慢慢一口一口的吃,这样每天学习一点就好了,其实很 ...

最新文章

  1. spi iic和串口的区别_GMII、SGMII和SerDes的区别和联系
  2. MySQL重要概念图解(重要)
  3. 线程互斥与同步 在c#中用mutex类实现线程的互斥_Golang 并发编程与同步原语
  4. linux C++ 多线程使用pthread_cond 条件变量
  5. 重新添加MySQL服务
  6. Java基础学习总结(131)——项目开发中真的有必要使用Lombok插件么?
  7. 【安装记录】安装 pyzmq ==19.0.2 报错记录
  8. 侠客行,我是谁,谁是我
  9. python求角度公式_Python 计算任意两向量之间的夹角方法
  10. 10天竟然只写了一行代码,谁的锅?
  11. 应知应会的Word图片技巧(转)
  12. 电脑程序在计算机丢失怎么办,电脑中dll文件丢失怎么恢复?计算机中丢失dll文件修复方法...
  13. 夜神模拟器之burp抓包
  14. 关键词提取有哪些方案?刘志远回答
  15. Calendar的DAY_OF_MONTH, DAY_OF_YEAR, DATE的区别
  16. 小学生用计算机的方法,多种教学方法在小学信息技术教学中的使用
  17. Java遍历一个类的所有属性和值
  18. 如何提高团队管理能力7
  19. 最优化学习 算法收敛性
  20. 《金2》个评 第10版

热门文章

  1. scala读取数据从文件或者其他url中
  2. mysql数据库设置索引 以下_如何设置MySQL数据库表的索引总长度
  3. LeetCode 304. 二维区域和检索 - 矩阵不可变(动态规划)
  4. redis源码剖析(5):基础数据结构inset
  5. 泛微oa系统什么框架_泛微移动办公OA系统走进江苏国曜信息科技有限公司
  6. excel : 如何快速跳到某一行
  7. Android Gradle Task-中文
  8. 【vue】 生命周期
  9. mysql备份与还原,增量备份;使用ibd和frm文件恢复数据
  10. UVA10267 Graphical Editor【模拟】