我试图实现一个方法,该方法返回一个类的可选:A,B,C扩展母亲。
我不知道从哪里开始。我试过这样的事情
private Optional<U> get(String query,U u){
}
A = c.get("Looking for an A",A.class)
B = c.get("Looking for an B",B.class)
C = c.get("Looking for an C",C.class)
C = c.get("Looking for an k",k.class) // Exception, K doesn't extend `Mother`
答案 0 :(得分:6)
几乎就在那里,这是一个更好的版本。
private <U extends Mother> Optional<U> get(String query, Class<U> clazz) {
...
}
有界类型参数确保只能传递Mother
(或Mother.class
本身)的子类。