[英]How to use Java generics for calling method with dynamic parameter?
我有 2 個對象,user 和 userevent ......我有 7 個通用的方法集......用戶和用戶事件是不同的對象,幾乎沒有匹配的參數......
如何使用泛型實現這一點,以便我可以重用用戶和用戶事件的方法? 方法接受用戶或用戶事件或這兩個對象作為參數..
為什么不使用接口?
User 和 UserEvent 類都將實現此接口。 通用方法將在接口中聲明並在兩個類中覆蓋。 至於方法,它們將接受任何實現新創建的接口的對象作為參數。
如果我理解正確,請檢查我為 dao 對象編寫的示例
public interface IDao<T> {
void saveOrUpdate(T instance);
Long save(T instance);
void delete(T instance);
T get(Long id);
}
public class BasicHibernateDao<T> extends HibernateDaoSupport implements IDao<T> {
private final Class<T> clazz;
public BasicHibernateDao(Class<T> clazz) {
this.clazz = clazz;
}
public void saveOrUpdate(T instance) {
getHibernateTemplate().saveOrUpdate(instance);
}
public Long save(T instance) {
return (Long) getHibernateTemplate().save(instance);
}
public void delete(T instance) {
getHibernateTemplate().delete(instance);
}
public T get(Long id) {
return getHibernateTemplate().get(clazz, id);
}
}
public class ClientDao extends BasicHibernateDao<Client> {
public ClientDao() {
super(Client.class);
}
}
希望這個比喻對你有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.