java - reciben - Tengo esta advertencia: método de llamada varargs no varargs con tipo de argumento inexacto para el último parámetro;
metodos que reciben parametros en java (1)
Este es mi código de muestra donde recibo la advertencia.
Class aClass = Class.forName(impl);
Method method = aClass.getMethod("getInstance", null);
item = (PreferenceItem) method.invoke(null, null);
La advertencia:
advertencia: método de llamada varargs no varargs con tipo de argumento inexacto para el último parámetro; enviar a java.lang.Class para una invocación varargs a java.lang.Class [] para una llamada no varargs y suprimir esta advertencia Método method = aClass.getMethod ("getInstance", null);
por favor ayudame a resolver este problema
Bueno, la advertencia del compilador le dice todo lo que necesita saber. No sabe si tratar null como una Class<?>[] Para pasar directamente a getMethod , o como una entrada null única en una nueva matriz de Class<?>[] . Sospecho que quieres el comportamiento anterior, así que envía el null a la Class<?>[] :
Method method = aClass.getMethod("getInstance", (Class<?>[]) null);
Si quisiera crear una Class<?>[] Con un elemento nulo, lo lanzaría a la Class<?> :
Method method = aClass.getMethod("getInstance", (Class<?>) null);
Alternativamente, podría eliminar el argumento por completo y dejar que el compilador construya una matriz vacía:
Method method = aClass.getMethod("getInstance");