【发布时间】:2016-06-03 11:22:15
【问题描述】:
我有以下接口,它由以下类实现。对于这个类,我希望能够使用方法链接,这就是为什么我在 addFilter() 方法的末尾添加了“return this”:
public interface IFilteredDataService<B extends Bean> extends IDataService<B>
{
FilteredDataService applyFilter(Predicate<B> filter);
}
public class FilteredDataService<B extends Bean> implements IFilteredDataService<B>
{
@Override
public FilteredDataService addFilter(Predicate<B> filter)
{
filters.add(filter);
return this;
}
}
当我按以下方式使用 addFilter() 方法时,一切正常:
someInstance.addFilter(foo);
someInstance.addFilter(bar);
当我使用这样的方法链接时:
someInstance.addFilter(foo).addFilter(bar);
它仍然可以正常工作,但我收到以下警告:
Unchecked call to 'addFilter(Predicate<B>)' as a member of raw type 'FilteredDataService'.
我无法弄清楚为什么会发生这种情况以及如何删除它。任何帮助将不胜感激。
【问题讨论】:
标签: java methods warnings chaining unchecked