我无法为这个问题选择正确的词语。
我有一个类和一个工厂方法。
class MyObject<Some, Other> {
static <T extends MyObject<U, V>, U, V> T of(
Class<? extends T> clazz, U some, V other) {
// irrelevant
}
private Some some;
private Other other;
}
现在我想再添加两个工厂方法,每个方法只需要U
or V
。
那将是这样的。这意味着那些被忽略的V
,或者U
仍然是未设置的(null
)。
static <T extends MyObject<U, ?>, U> T ofSome(
Class<? extends T> clazz, U some) {
// TODO invoke of(clazz, some, @@?);
}
static <T extends MyObject<?, V>, V> T ofOther(
Class<? extends T> clazz, V other) {
// TODO invoke of(clazz, @@?, other);
}
我试过这个但没有成功。
static <T extends MyObject<U, ?>, U> T ofSome(
final Class<? extends T> clazz, final U some) {
return of(clazz, some, null);
}
编译器抱怨以下消息。
没有为 of(java.lang.Class,U, <nulltype>) 找到合适的方法
正确的方法是什么?