A qué se debe este error?
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at meth.busca(meth.java:32) at Prin1$6.actionPerformed(Prin1.java:142) at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.jav a:6267) at javax.swing.JComponent.processMouseEvent(JComponen t.java:3267) at java.awt.Component.processEvent(Component.java:603 2) at java.awt.Container.processEvent(Container.java:204 1) at java.awt.Component.dispatchEventImpl(Component.jav a:4630) at java.awt.Container.dispatchEventImpl(Container.jav a:2099) at java.awt.Component.dispatchEvent(Component.java:44 60) at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:4168) at java.awt.Container.dispatchEventImpl(Container.jav a:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478 ) at java.awt.Component.dispatchEvent(Component.java:44 60) at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599) at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:122)
Actualizar:Del fichero meth...
public void busca(meth pasa, String clav)
{
if(pasa.clave2.equals(clav)) <---Linea 32
JOptionPane.showMessageDialog(null,"Encontró ");
}
Desde donde lo invoco
b4.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent x)
{
meth llevar=new meth();
meth llevar2=new meth();
String clav=tf4.getText();
int i;
for(i=0;i<xd.size();i++)
llevar.busca(llevar2,clav);
}
});
Copyright © 2024 Q2A.ES - All rights reserved.
Answers & Comments
Verified answer
Si tienes el código fuente, como la anterior respuesta afirma, el error radica en la línea 32, fichero meth.java, método 'busca', posiblemente de la clase meth.
" ... java.lang.NullPointerException at meth.busca(meth.java:32) ..."
Estás usando una variable sin inicializar o que no tiene valor referencial. En pocas palabras estás intentando usar algo que no existe.
Ejemplo:
String g;
g.concat("Excepción"); <- Lanzará excepción al no estar inicializada o igualada, aunque ya se haya declarado, no se le ha asignado ningún valor.
String g = new String("Ya no lanzará ");
g.concat("Excepción"); <- En este caso lo contrario, debido a que g ha sido asignada como un nuevo objeto String.
String g = "Este tampoco lanzará ";
.... de la misma manera, esto sucede con objetos de tipo String, y clases representativas de primitivos como Boolean o Integer.
String g = scanner.nextLine();
... Igual que lo anterior, solamente que iguala g al resultado del mensaje nextLine(); para el objeto scanner.
Verifica la variable que usas en la línea 32 y ve dónde se ha declarado, posteriormente dónde necesita inicializarse, normalmente en el constructor.
Espero haberte ayudado.
Dato curioso: Se nombra NullPointerException porque la máquina virtual de java (jvm) administra automáticamente el uso de punteros, es por ello que en java ya no se requiere de ellos, cuando una variable no ha sido igualada, su contenido predeterminado es null o '0' para los primitivos, posteriormente, cuando la jvm intenta apuntar a esa dirección, obviamente no existe, prosigue lanzando una excepción.
-------------------------------------------------------------------------------------------
La propiedad clave2 (String) no inicializada, debes asignarla en el constructor de esta clase.
public meth(){
this.clave2 = "La clave.";
}
De esta manera al usar:
meth llevar2=new meth();
Ya estará creada.
O, podrías solucionarlo así:
if( pasa.clave2 != null && pasa.clave2.equals(clav))
¡Saludos!
Exception In Thread Awt-eventqueue-0 Java.lang.nullpointerexception
La excepion NullPointerException es una exepcion no marcada se produce por una mala programacion de el programador dice Excepción de puntero nulo suele pasar cuando asignas mas valores a espacion que no tienes reservados.
la de la fila 32 es
pasa.clave2
tienes un punto entre pasa y clave
Lo mas seguro es que, O estas utilizando la casilla de un arreglo que es nula, o a algun objeto que es nulo, estas llamando una funcio que lo contenga... ejemplo, objeto.funcion.. si el objeto en ese momento es null... te da NullPointerException ... como a ti.... generalmente este error se debe a eso
El error puede venir dado porque una variable haga referencia a una dirección de memoria no reservada por el propio programa o reservada por el sistema operativo. Intenta revisar la declaración de variables y el tipo de éstas
Saludos