Java在构造函数中定义泛型

时间:2014-11-15 12:33:57

标签: java generics

有没有办法在构造函数中定义类中的泛型?所以它看起来像这样:

class Foo {
    public Foo (boolean b){
        if (b) Foo = <Integer>;
        else Foo = <Double>;
    }
}

我想要做的更复杂,在构造函数中定义泛型对我来说是最好的选择。如果不可能,最接近它的是什么?

1 个答案:

答案 0 :(得分:1)

所以这是基于David Wallace评论的解决方案:

    class Foo <T> {

        private Foo (){}

        public static Foo<?> createFoo (boolean b){
            return b ? new Foo<Integer>() : new Foo<Double>();
        }
    }