Ich habe diese Klassen:Pass Generikum von Wildcard-generischer Datentyp in Java
public interface DataAccessor<E extends Model, U>
public class Data<T> implements DataMenuItemObservable<T> {
diese Schnittstelle:
interface Listener<T> {
void onResponse(T value);
}
diese Methoden:
public interface DataAccessor<E extends Model, U> extends DataMenuItemObservable<E> {
...
public DataAccessor<? extends Model, ?> getPrimaryDataAccessor()
void get(int index, Context context, Listener<Data<E>> listener, ErrorListener errorListener);
...
}
und Compiler-Fehler auf diese erhalten code:
DataAccessor<? extends Model, ?> accessor = db.getPrimaryDataAccessor();
accessor.get(0, this, new DataAccessor.Listener<Data<? extends Model>>() {
@Override
public void onResponse(Data<? extends Model> value) {
}
}, this);
Idee sagt incompatible types: <anonimous Listener<Data<? extends Model>>> cannot be converted to Listener<Data<CAP#1>>
Ich habe auch versucht Schnittstelle mit this
aber gleichen Fehler zu implementieren.
Wie Fehler zu beheben? Gibt es eine akzeptable Problemumgehung?
Was ist die Signatur von 'DataAccessor.get()'? – shmosel
Was ist "Daten"? – shmosel
@smossel Aktualisiert – nikartix