다음 클래스에서 구현 한 다음 인터페이스가 있습니다.메서드 체이닝으로 인해 호출되지 않은 경고가 발생합니다.
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를를 사용하는 방법) (: 나는이 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'.
왜 이런 일이 일어나고 제거하는 방법을 알 수 없었습니다. 어떤 도움이라도 대단히 감사하겠습니다.