我正在编写一种非常简单明了的方法:
我希望它得到一个对象并按其开始和结束日期进行工作。
我希望其处理的所有对象都有日期可做,但是当然,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/

10-12 01:17
查看更多