¡Xiaobai, echa un vistazo! Ayudarle a resolver fácilmente la excepción de puntero nulo de Java

Siga la cuenta oficial de WeChat "Java Architecture Stack" y responda con la contraseña [Preguntas de la entrevista de Java] para obtener las preguntas de la entrevista de las grandes empresas.

 Casos excepcionales

Para muchos principiantes de Java, es fácil encontrar varias excepciones en las primeras etapas del aprendizaje, como la excepción del puntero nulo de la que hablaremos hoy. Como dice el refrán, “enseñar a pescar a un hombre es peor que enseñarle a pescar”, Bogo te lo explicará hoy con un caso práctico, para que puedas entender realmente la causa de la anomalía y dominar su proceso de solución. . Primero echemos un vistazo al siguiente ejemplo de código:

public class Test {
    public static void main(String[] args) {
        String str=null;
        if(str.equals("qianfeng")){
            System.out.println("没问题,相等");
         }else {
            System.out.println("有问题,不相等");
         }
    }
 }

Si ejecutamos el código anterior, aparecerá la siguiente excepción:

 Exception in thread "main" java.lang.NullPointerException //空指针异常
        at Test.main(Test.java:4)

 Anormal

Entonces, ¿cómo ocurrió la excepción anterior? ¿Cómo resolverlo? Para los principiantes, esto puede resultar realmente difícil.

De hecho, no es difícil resolver este tipo de excepción, pero muchos principiantes generalmente no verifican la información de la excepción cuando encuentran una excepción, sino que planean verificar el código directamente para descubrir la causa. Por supuesto, esto está bien si tienes muy poco código. Pero esto desarrollará un mal hábito, es decir, en el proceso posterior de escribir código, a menudo ignorará la verificación de la información de excepción. Si todavía busca excepciones directamente en el código cuando hay mucho código, será extremadamente ineficiente y es posible que no pueda encontrar la causa de la excepción.

De hecho, la forma correcta de resolver una excepción es verificar primero la información de la excepción en la consola. Por ejemplo, en este caso, el mensaje de excepción NullPointerException aparece en la consola, y la consola también nos dice la ubicación específica donde ocurre la excepción:

at Test.main(Test.java:4)

Entonces, siempre que todos verifiquen cuidadosamente esta información de excepción, podemos determinar a partir de esta línea de información de excepción que ocurrió una excepción de puntero nulo en la cuarta línea de la clase de prueba, entonces solo necesitamos verificar directamente la cuarta línea de código:

if(str.equals("qianfeng"))

En otras palabras, se produjo una excepción de puntero nulo al ejecutar str.equals ("qianfeng") en la condición if. Solo necesitamos observar cuidadosamente esta línea de código para ver qué objeto está vacío. Tras una inspección cuidadosa, encontramos que el objeto str estaba vacío y nos olvidamos de asignarle un valor, así que a continuación hicimos un pequeño cambio, el código es el siguiente:

public class Test {
    public static void main(String[] args) {
        String str=null;
        if("qianfeng".equals(str)){
             System.out.println("没问题,相等");
         }else {
             System.out.println("有问题,不相等");
         }
    }
 }

Además, todos deben tener en cuenta que cuando usamos el método igual (), debemos seguir el principio de "las constantes primero y las variables al final"; de lo contrario, se producirá fácilmente una excepción de puntero nulo.

 resumen

A través del caso anterior, descubriremos que en el proceso de aprendizaje, no da miedo encontrar problemas, ¡lo más importante es formar su propio conjunto de ideas para analizar y resolver problemas! Además, los niños con conocimientos básicos débiles también pueden consultar información en línea para consolidar su aprendizaje. Por ejemplo, puede encontrar muchos materiales de aprendizaje de Java gratuitos en el sitio web oficial de Qianfeng Education. Por supuesto, también puede buscar Qianfeng Java en el sitio B y también puede encontrar muchos videos gratuitos de aprendizaje de Java.

Finalmente, si tiene alguna otra pregunta, déjeme un mensaje en el área de comentarios y el hermano Bo le responderá a tiempo. Preste atención a la pila de arquitectura Java y obtendrá información útil todos los días.

Supongo que te gusta

Origin blog.csdn.net/weixin_41692221/article/details/131304756
Recomendado
Clasificación