java - 通用类型类启动

标签 java generics

我们编写了一个使用泛型的库,我不确定如何创建泛型类型的实例。那么create方法怎么写呢?

public class Lib<V extends Base> {

    private HashMap<Integer, V> map = new HashMap<Integer, V>();    

    public V get(int key) {
        return map.get(key);
    }

    public void add(int key, V value) {
        map.put(key, value);
    }

    public void create(int key) {
        // V v = new V();  // ?? How to implement this line
        // add(key++, v);
    }
}

最佳答案

从语言的角度来看,不能保证 V 具有非抛出、可访问、无参数的构造函数。处理这种情况的标准方法是引入一个抽象工厂,例如 my answer here .

关于java - 通用类型类启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16010131/

相关文章:

java - Hazelcast 获取 Imap 中 key 的 ttl

java - 通过 CompletionService 查看取消的任务

c# - 通过动态推断泛型类型。反射

c# - 如何修剪 List<string> 以便删除前后的空行?

generics - 在 Scala 中模拟可变参数模板

java - 在java中将数组声明为对象?

java - 如何将台式计算机的处理时间转换为 Android 设备?

java - 将视频上传到 Android 中的 Vimeo

Swift - 使用泛型改进类中的计算属性

C# 3.0 泛型类型推断 - 将委托(delegate)作为函数参数传递