I have written the following code to integrate generics into the following method. As evident I'm quite a newbie with Generics (haven't created them myself before). The following method is generating weird warning
private static PublishSubject mPublishSubject;
public <T> void register(final Class<T> type, Action1<T> observerAction) {
mPublishSubject.filter(new Func1<T, Boolean>() {
@Override
public Boolean call(T o){
Timber.e("Filter(): object type: %s typeClass is: %s", o.getClass(), type);
if(o.getClass().equals(type)) {
Timber.e("Filer() return true");
return true;
}
Timber.e("Filer() return false");
return false;
}
}).map(new Func1<T, T>() {
@Override
public T call(@NonNull T o) {
Timber.e("Map(): object received from filter: %s", o);
return o;
}
}).subscribe(observerAction);
}
Following are the warnings that I'm getting.
Unchecked call to map(Func1(<? super T, ? extends R>) as a member of raw type rx.Observable.
Unchecked call to subscribe(Action1(<? super T>) as a member of raw type rxObservable.
What do these warnings mean & where am I making mistake?