java - 在java中访问对象函数时如何解决错误?
问题描述
嗨,我正在 java 中创建一个二维对象数组,并希望访问其中一个函数,该函数仅返回变量的布尔值,但由于某种原因,它会引发错误。代码看起来很简单,但我不知道我做错了什么。我的猜测与我对数组的实现有关,但我认为我做得对。我的目标是为 100x100 网格中的每个值创建类的单独实例。
这是我得到的代码和错误
public class Main {
public static void main(String[] args) {
ParkingLot parkingLot = new ParkingLot("Rushi's Parking lot", 100, 100);
Vehicle car1 = new Car("License");
parkingLot.registerVehicle();
}
}
public class ParkingLot {
String name;
ParkingSpot[][] parkingGrid;
public ParkingLot(String name, int xSize, int ySize){
this.name = name;
this.parkingGrid = new ParkingSpot[xSize][ySize];
}
public void registerVehicle() {
System.out.println(parkingGrid[0][0].isAvailable());
}
public void getNextSpot(Vehicle vehicle){
}
}
public class ParkingSpot {
private boolean available = true;
private String license;
private int time;
public boolean isAvailable() {
return available;
}
public void reserveSpot(String license){
this.license = license;
this.available = false;
}
}
错误:
Exception in thread "main" java.lang.NullPointerException
at ParkingLot.registerVehicle(ParkingLot.java:14)
at Main.main(Main.java:7)
解决方案
当您创建ParkingLot类型的对象时,数组parkingGrid仅包含空引用。您需要实际添加要使用的停车位。
到目前为止,您只指定了parkGrid的大小为 100x100 并包含停车位,但各个元素不存在。
推荐阅读
- corda - 我可以创建一个带有空方的 Corda 状态吗?
- python - 我如何从一个带有美丽汤的单词汤中得到一个特定的词组?
- php - 如果另一个连接为空,Laravel Eloquent 和 Mysql 连接一个表
- magento - Magento 单页结帐页面中添加的自定义字段未保存在数据库中
- php - 具有带有分页的 laravel 类别(基于 slug)的帖子
- jpa - JPA JSF 创建新记录不会更新页面
- numpy - 使用交叉熵时如何处理 log(0)
- postgresql - 使用 Esri Geometry 使用 Hive 进行 ST_Point 查询,失败
- django - django密码哈希每次都不同
- ibm-mq - IBM MQ 错误 2009 - 如何检测队列管理器何时启动自己的线程