我得到“类型不匹配:无法转换List<CherryCoke>
为List<Coke<?>>
”
看起来“樱桃可乐清单”不是“可乐清单”。这是违反直觉的。无论如何,如果它必须是 aList<Coke<?>>
并且我必须有一个子类,我怎么能创建那个'xs' Coke<Cherry>
?
class Taste { }
class Cherry extends Taste { }
abstract class Coke<T extends Taste> { }
class CherryCoke extends Coke<Cherry> { }
class x {
void drink() {
List<Coke<?>> xs = Arrays.asList(new CherryCoke());
}
}