我有一個簡單的問題,嘗試使用Appengine保持DRY。幫助創建泛型類以避免代碼複製
除了作爲參數發送的對象外,下面的2個函數是相同的。實際上我有15個這樣的功能。我試圖找到一種方法來創建一個超類或通用來實現這一點。
public void deleteRecord(Person s) {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
Person p = pm.getObjectById(Person.class, s.getId());
pm.deletePersistent(p);
} finally {
pm.close();
}
}
和
public void deleteRecord(Product s) {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
Product p = pm.getObjectById(Product.class, s.getId());
pm.deletePersistent(p);
} finally {
pm.close();
}
}
遺憾的是,似乎我不能使用泛型,因爲仿製藥不支持T.class。
任何好的建議如何做到這一點w/o複製?
謝謝。 丹尼爾
你不能修改你的方法接受一個類,而不是一個對象? – JRL
做這些方法是否需要在同一個類中,或者像它自己的類中的每個方法一樣? – meriton