gpt4 book ai didi

java - getter 上的 NullPointerException

转载 作者:行者123 更新时间:2023-12-01 12:09:56 27 4
gpt4 key购买 nike

我正在准备类(class)期末考试。它应该是一个“媒体库”,用于存储有关个人媒体(DVD、游戏等)的信息以及其他内容,它应该接收新媒体项目,将它们存储到数组中并在提示时显示它们。它执行了所有这些操作,但当它显示时,即使它按照我的预期执行,它的 getter 上也会出现 NullPointerException。

public class MediaItem {
private String title;
private String format;
private boolean onLoan;
private String loanedTo;
private String dateLoaned;

public MediaItem(){
title = null;
format = null;
onLoan = false;
loanedTo = null;
dateLoaned = null;

}

public MediaItem(String title, String format){
this.title = title;
this.format = format;
onLoan = false;

}

上面是创建“MediaItems”的类的字段和构造函数,我们被告知这样调用它们

下面是另一个类的部分,即库本身。一组用于存储媒体项目,一组用于打印列表。还有添加方法以及我如何将它们添加到数组中。

private MediaItem[] items = new MediaItem[100];
private String[] listOfItems = new String[100];
private int numberOfItems = 0;

public void addNewItem(String title, String format){
MediaItem item = new MediaItem(title, format);
items[numberOfItems] = item;
numberOfItems++;
}

这是我遇到问题的部分

    public void listAllItems(){
for (int i = 0; i < items.length; i++){
System.out.println(items[i].getTitle());
}
}

这不是它应该做的,但我当前的问题是它确实打印出整个项目列表,但也给出了 NullPointerException,我不知道为什么。被调用的 getter 是一个基本的 Eclipse 生成的 getter

    public String getTitle() {
return title;
}

这是一个 Java,我很粗糙,所以我是新手,所以请温柔一点。我相信这就是所有相关部分,因此我们将不胜感激!

最佳答案

items.length 将始终是整个数组的长度(在您的例子中为 100),无论您实际添加了多少项。尝试这样:

public void listAllItems(){
for (int i = 0; i < numberOfItems; i++){
System.out.println(items[i].getTitle());
}
}

您的情况的问题不是 getter 本身,而是尝试在 null 上调用 getTitle() 方法。

关于java - getter 上的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27331979/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com