当前位置: 首页 > 知识库问答 >
问题:

Java值总是null?[复制]

萧秋月
2023-03-14

我在Java中有一个值总是null,但我不明白为什么,因为我正在使用类构造函数设置变量的值。

我有这样的代码:

Driver driverClass = new Driver("<file path redacted>");

然后是以下内容:

String cfgFilePath;

public Driver(String cfgFile) {
    this.cfgFilePath = cfgFile;
}

private ArrayList<String> keys = getKeys(cfgFilePath);
private String a1 = keys.get(0);
private String b1 = keys.get(1);

出于某种原因,IntelliJ IDEA说cfgFilePath总是null。我正在用驱动程序类构造函数初始化它,那么为什么它是空的呢?当我运行程序时,我得到一个空指针异常。

共有1个答案

危烨煜
2023-03-14

a1b1的初始化移动到构造函数中,如下所示:

public Driver(String cfgFile) {
    this.cfgFilePath = cfgFile;
    this.keys = getKeys(cfgFilePath);
    this.a1 = keys.get(0);
    this.b1 = keys.get(1);
}

private ArrayList<String> keys = new ArrayList<>();
private String a1;
private String b1;
 类似资料:
  • 下面的代码返回一个错误,它不会连接到SQlite db。 虽然下面的代码工作得很好。 你能帮我了解一下这两个代码之间的区别吗?为什么第一个不能编译?

  • application.properties AppConfig.java 冬眠。班 我需要在本地或远程配置我的数据库,但我不能。"H中的本地ibernate.class"总是返回null。为什么?

  • 我使用Ehcache 2.6.8作为Spring Boot应用程序的一部分,作为Hibernate 4.3.11的二级缓存。我有一个JMX MBean,它允许我检查缓存的内容(如果您感兴趣,可以在这里查看)。 首先,我使用CacheManager名称来获取缓存列表。这很好。我可以用返回缓存。然后我调用。这很好,cacheName是“com.myapp.DomainObjectName”,键被列为“

  • 我试图打开一个文件进行解析(一个二进制文件),但是无论什么fopen()总是返回NULL。 我已经排除了几乎所有的东西,我有一个简单的测试脚本: trigger_error(var_export())的输出;是: 无论我为第二个fopen()选项指定什么标志,我都会得到相同的结果。 现在,明显的问题是该文件是否存在,以及我是否拥有读取该文件的权限?这两个问题的答案都是肯定的。我使用了相对路径和绝对

  • 在fetchplaces方法中,新的window.google.maps.places.PlacesService(map)总是返回null,并且Service.NearbySearch不会引发函数错误。 请帮忙。

  • DatePicker在更改日期之后没有更新。 另外,我尝试了在没有侦听器的情况下获取数据,比如: 也许有人有类似的问题,并找到了解决办法? 编辑1: