Pase referencia al método en lugar del valor (o algo así) - JAVA

PaBo:

Tengo varios objetos con valor almacenado en -

object.getList().get(0).getSomeObject.getName(0)

Es posible, que la lista está vacía so-

object.getList().get(0)

arroja una NPE

Quiero pass-

object.getList().get(0).getSomeObject.getName()

a otro método y manejar la excepción allí.

Por ejemplo:

// calling the method
myMethod(object.getList().get(0).getSomeObject.getName());

public void myMethod(Object o){
    try {
        String name = o;
    }catch (Exception e){
        // do something
    }
}

¿Es posible hacer algo así -

EvaluateLaterObject elo = new EvaluateLaterObject(object.getList().get(0).getSomeObject.getName());
myMethod(elo);

public void myMethod(EvaluateLaterObject elo){
    try {
        String name = elo.getValue();
    }catch (Exception e){
        // do something
    }
}

¡Gracias de antemano!

Miguel :

Puede utilizar una interfaz funcional, tal como Suppliery una lambda

myMethod(() -> object.getList().get(0).getSomeObject.getName());

public void myMethod(Supplier<String>){
    try {
        String name = elo.get();
    }catch (Exception e){
        // do something
    }
}

Si quieres apoyar ninguna excepción, tendrá que definir su propia interfaz funcional por ejemplo,

@FunctionalInterface
interface ThrowableSupplier<T>
{
    T get() throws Throwable;
}

Supongo que te gusta

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