0

tengo esté método

public static void validateList(String campo,List lista){
    for(Object lis : lista) {

       try {
        Method method =  lis.getClass().getMethod("get"+primeraLetra(campo), null);
        Object valor = method.invoke(null, "validacion");

    } catch (NoSuchMethodException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SecurityException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }


    }

}

Cuando Meto un tipo de lista, cuando invoco para hacer el get de ese campo me devuelve un nullPointer. El caso que los campos de entrada son estos:

Utils.validateList("codCoche", vehiculos);

Borja Sanchez
  • 387
  • 6
  • 12
  • ¿Puedes añadir a la pregunta el resto del código que falta? Específicamente el método primeraLetra, y la definición de la clase de los objetos que cargues en esa lista. Cuanto más código pongas mejor, así lo podemos reproducir para ver más fácilmente donde está el problema. – ordago Feb 05 '20 at 12:03
  • El problema que tienes es que estás intentando invocar un método de instancia de la clase del objeto `lis` y has pasado `null` en el primer parámetro del método `invoke()`. Para solucionarlo solo debes pasar `lis` como primer parámetro: `method.invoke(lis, "validacion")` – E. Betanzos Feb 09 '20 at 17:45

0 Answers0