在不传递对象的情况下实例化类型参数

Kle*_*ine 2 java oop type-parameter

我的问题与这个问题非常相似.我希望能够实例化类型参数类型的对象,但也无需传入"工厂".我真的需要被包含在一个类中.

public class myClass<E> {
    E someObject;

    public myClass(){
         someObject = new E();
    }
}
Run Code Online (Sandbox Code Playgroud)

以前的解决方案需要将myClass的构造函数更改为具有工厂参数,然后调用它的构造函数,但出于我的目的,我不想从外部修改对myClass的任何调用.

Apo*_*isp 7

问题是你不知道是什么E,也不知道如何构建它.它可以是任何类型(它是普遍量化的).您需要提供证据,无论E它是什么,它都可以真正构建.某种类型的"工厂"可以作为一种见证它可以的事实.

想想这一秒:如果我Void作为参数传递E怎么办?你将如何构建Void类型的值?

能够E 为所有人E建构就像创造一些无中生有的东西.这在逻辑上是不可能的.?E. E是一个无人居住的集合.

你真正想要的是要么E有一个绑定,要么传递一个构造函数(工厂)作为可E构造对象集合中的事实的见证.