我正在编写一种非常简单明了的方法:
我希望它得到一个对象并按其开始和结束日期进行工作。
我希望其处理的所有对象都有日期可做,但是当然,eclipse不允许我编写这样的方法。
能做到吗怎么样?
这是我正在努力的框架
public <T> void updateStuff(T stuffObject, Calendar startDate, Integer delta) {
stuffObject.setStartDate(startDate);
Calendar calendarEnd = Calendar.getInstance();
calendarEnd = startDate;
calendarEnd.add(Calendar.MONTH, delta);
stuffObject.setEndDate(calendarEnd);
}
最佳答案
您可以定义将泛型公开给接口的方法:
public <T extends MyInterface> void updateStuff(T stuffObject, Calendar startDate, Integer delta) {
stuffObject.setStartDate(startDate);
Calendar calendarEnd = Calendar.getInstance();
calendarEnd = startDate;
calendarEnd.add(Calendar.MONTH, delta);
stuffObject.setEndDate(calendarEnd);
}
interface MyInterface{
void setStartDate(Calendar c);
void setEndDate(Calendar c);
}
关于java - 如何在通用类型变量上调用方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46825770/