在Java中为类创建默认的通用类型

SIM*_*MEL 3 java generics class

我想创建一个具有两种泛型类型的对象,但是在某些地方创建时只给出了一种泛型类型。在这种情况下,第二种类型并不重要,因此我希望能够提供一个选项,以创建仅具有一个泛型类型的类,而将另一种泛型类型默认设置为Object,其外观类似于( C ++风格):

public class myClass<T,O=Object> {...
}
Run Code Online (Sandbox Code Playgroud)

因为我知道Java中没有默认值,所以我不希望有默认类型,但是有什么方法可以创建类似的东西(也许是类重写)?

Mai*_*kov 5

创建子类似乎是一项开销,我将使用静态工厂方法

public class MyClass<T, O> {
    ...

    <T> public static MyClass<T, Object> create(...)
    ...
}
Run Code Online (Sandbox Code Playgroud)