当前位置: 首页 > 面试题库 >

什么是java空指针异常NullPointerException,如何修改?

魏松
2023-03-14
问题内容

什么是Java空指针异常,它是如何发生的?如何修改?


问题答案:

当我们创建一个引用类型的变量时,实际上是创建了一个指向该变量的一个指针,例如:

Person tom = new Person();

这种情况下是,tom 其实是指向Person对象的一个指针。

如果我们访问一个没有初始化的对象时,就会出现空指针异常。例如,我们声明了一个Person对象tom,而没有给tom赋值(初始化),这样再调用tom的方法是就会出现空指针异常。

package com.codingdict;

public class Q1 {
    public static void main(String[] args) {
        Person p=null;
        p.getName();

    }
}

class Person{
    public void getName() {
        System.out.println("tom");
    }
}

package com.codingdict;
public class Q1 {
    public static void main(String[] args) {
        // s 为null, 当调用s的方法时会抛出空指针异常
        String s = null;
        s.toLowerCase();
    }
}

输出结果如下:

Exception in thread "main" java.lang.NullPointerException
    at com.codingdict.Q1.main(Q1.java:6)

如果是方法我们需要对方法参数做出判断:

static void hello(String name) {
    if (name!=null) {
        System.out.println("Hello,"+name.toUpperCase());
    }
}


 类似资料:
  • 我正试着数字符串中元音的数目。问题是它编译正确,但当我运行它时,命令窗口显示“countvowels.main(countvowels.java:25)处线程'main'java.lang.NullPointerException”。 是什么导致了这一点,我该如何修复它,我该如何防止它在未来再次发生? 第25行是我的if语句:

  • 问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于

  • 我已经更新了我的项目中的一些依赖关系之后,我的Hibernate配置类显示Nullpointerx的。 我将SpringDataJPA存储库与hibernate一起使用,已经超过24小时了,仍然没有找到任何关于小问题的适当解决方案。 我已经尝试过的一些解决方案:- 使用@bean(name=“entityManagerFactory”)提供bean名称 我面临的问题 波姆。xml文件 配置类 db

  • 当我试图从DB查询结果时,我得到一个空指针异常。以下是错误: 这是错误产生的函数。 如果我启动应用程序信息服务(=new ApplicationInfoService()),我会得到一个指向我的服务类的空指针错误,在这里进行查询 错误转到createQuery行,如果我打印出EntityManager,它将返回“null”。为什么我的Entitymanager不能初始化。我在我的登录系统中使用了几

  • 在以下代码中,我得到了一个Java·朗空指针异常: 它发生在最后一个if语句中。我使用了日志文件:fragen.size()是30,它在I=1时崩溃 这对我来说毫无意义 请帮助;)

  • 在我正在编写的程序中,我有以下代码来为单词创建正则表达式并从一系列不同的ArrayList中检索与之匹配的所有单词。 当我从另一个类调用求解(String str)时,行"strArr=str.split (""); 抛出一个空指针异常。我遇到的另一个问题是,当我自己测试这个类时,行if(temp.matches(reg))给出了以下错误。 有人能帮忙吗?