Java: Solución de llamada sin marcar

xxMrPHDxx:

Estoy teniendo un problema con las llamadas sin marcar, a pesar de que ya se introdujo el parámetro de tipo a mi método. No quiero para suprimir las advertencias porque estoy bastante seguro de que hay una manera de prevenir que de alguna manera.

Mi clase principal (que me está dando el aviso)

HttpUtil.fetch(
        url,
        headers,
        HttpRequest.Method.POST,
        new HttpRequest.Form.Builder(HttpRequest.Form.Encoding.URL_ENCODED)
                .set("password", iLoginPass.getText().toString())
                .set("login", iLoginUser.getText().toString())
                .build()
)
.then(HttpResponse::getBody)
.then((Promise.Resolver<Void, Document>) value -> {
    final Elements elems = value.body().getElementsByTag("table");
    Toast.makeText(MainActivity.this, elems.text(), Toast.LENGTH_LONG).show();
    return null;
});

Mi clase de Promise

// T: input, U: progress (unused but just in case), V: output (resolved value)
public class Promise<T, U, V> {
    // RV: new return value (aka. resolved value)
    public <RV> Promise then(final Resolver<RV, V> nextResolver){
        return new Promise<V, U, RV>(nextResolver, this.rejector, resolvedValue);
    }
}

También ignorar la HttpUtil.fetchfunción, ya que devuelve un objeto Promise con tipos de parámetros <String, Void, HttpResponse>. El cuerpo debe volver otro objeto de la clase de documento que no debería ser un problema, porque si lo hiciera .<Document>then(...)me dice que 'el tipo parametrizado es redundante' y me quería inferir el tipo. Además, lo importante a destacar aquí es la advertencia pop a cabo sólo si lo hiciera con dos o más.then(...)

xxMrPHDxx:

No importa. Yo sé cómo solucionar este problema.

En .then(...)función de mi Promiseclase que debería hacer

public class Promise<T, U, V> {
    public <RV> Promise<V, U, RV> then(final Resolver<RV, V> nextResolver){
        return new Promise<V, U, RV>(nextResolver, this.rejector, resolvedValue);
    }
}

Con la advertencia de que se fue

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=313290&siteId=1
Recomendado
Clasificación