Create instance of generic type in Java?

后端 未结 27 3196
佛祖请我去吃肉
佛祖请我去吃肉 2020-11-21 06:14

Is it possible to create an instance of a generic type in Java? I\'m thinking based on what I\'ve seen that the answer is no (due to type erasure), but

27条回答
  •  故里飘歌
    2020-11-21 07:02

    You are correct. You can't do new E(). But you can change it to

    private static class SomeContainer {
        E createContents(Class clazz) {
            return clazz.newInstance();
        }
    }
    

    It's a pain. But it works. Wrapping it in the factory pattern makes it a little more tolerable.

提交回复
热议问题