AndroidDev AndroidDev - 1 year ago 175
Java Question

Parameter with question mark and super

In Java, I've come across a method that is formatted like this:

public final Subscription subscribe(final Action1<? super T> onNext, final Action1<Throwable> onError) {

In the first parameter, what does the question mark and super mean?

Answer Source

? here means everything that is a superclass of T

super means what you can put into the class (at most this, perhaps a superclass).

Because super indicates the lower bounding class of a generic element. So, Action1<? super T> could represent Action1<T> or Action1<Object>.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download