0

我试过四处搜索,发现很多结果似乎是我需要的。但是我无法以适合我的方式实现它。需要帮助 =(

这是我的课:

import Apple;
public static void SetAddChg(Apple a) throws ClassNotFoundException {
    DateFormat addDate = new SimpleDateFormat("yyyy-MM-dd");
    DateFormat addTime = new SimpleDateFormat("HH:mm:ss");
    Date date = new Date();
    EntityManager entityManager = Persistence.createEntityManagerFactory("EntityLibraryPU").createEntityManager();
    entityManager.getTransaction().begin();
    a.setAddDate((addDate.format(date)));
    entityManager.getTransaction().commit();
}

这是有效的,因为我特别说明了课程。但是,我希望这是一个通用类,您可以将任何类(Apple、Banana、Orange)传递给它。我该怎么做?

4

1 回答 1

0

对于要设置的通用属性,可以拥有BananaApple实现通用接口(如“ Audited”):

public interface Audited {
    void setDateAdded(Date date);
    //etc, etc
}

public class Apple implements Audited { /*...*/ }

public class Banana implements Audited { /*...*/ }

然后你可以接受Audited你的辅助方法:

public void setAuditFields(Audited auditedEntity) {
  auditedEntity.setDateChanged(new Date());
  //...etc...
}

//...
a.setSize(textboxSize.getText());
setAuditFields(a);
于 2012-05-16T19:29:06.890 回答