java - 编程新手,Java.lang.NullPointerException 与 ArrayList

标签 java arraylist nullpointerexception program-entry-point

我已经尝试解决这个问题几天了,但没有成功。 这是代码:

import java.util.*;
import java.io.*;
public class Portefeuille {
private ArrayList<Woning> woningen;

public Portefeuille(){
    woningen = new ArrayList<Woning>();
}

public void voegToe(Woning w){
    if(woningen.contains(w)==false)
        woningen.add(w);
    else
        System.out.println(w.toString()+" komt al voor en is daarom niet toegevoegd.");
}

public ArrayList<Woning> woningenTot(int maxprijs){
    ArrayList<Woning> totaal = new ArrayList<Woning>();
    for(int i=0; i<woningen.size(); i++){
        if((woningen.get(i)).KostHooguit(maxprijs))
            totaal.add(woningen.get(i));
    }
    return totaal;
}

public static Portefeuille read(String infile){
    Portefeuille woningen = new Portefeuille();
    try
    {
        FileReader file = new FileReader(infile);
        Scanner sc = new Scanner(file);
        int aantalwoningen = sc.nextInt();
        for(int i=0; i<aantalwoningen; i++){
            Woning woning = Woning.read(sc);
            woningen.voegToe(woning);
        }
        System.out.println(woningen.toString());
        sc.close();
    } catch(Exception e){
        System.out.println(e);
      }
 return null;
 }
}

这是主文件

    import java.util.*;
    public class Test2 {
public static void main(String[] args){

    Portefeuille bestand = Portefeuille.read("in.txt");
    ArrayList<Woning> WTot = bestand.woningenTot(21500);

}
}

我收到的错误: 线程“main”中的异常 java.lang.NullPointerException 在 Test2.main(Test2.java:6)

如果有人至少能指出我正确的方向,我将非常感激。

谢谢

贾斯普雷特

最佳答案

当您最终尝试调用指向 null 的引用(而不是对象)上的方法时,您将得到 NullPointerException。在您的情况下,这将是 bestand.woningenTot(21500); 因为对 Portefeuille.read("in.txt"); 的调用始终返回 null.

关于java - 编程新手,Java.lang.NullPointerException 与 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8431255/

相关文章:

java - Android注入(inject)类返回null

Java - 正则表达式在两个/之间进行匹配

java - 如何在同一程序中多次创建线程的新实例

java - 在 kStreams 中使用 lambda 连接 Avro 格式数据

java - 无法在java中添加两个列表的内容

java - 如何在 android 中按升序或降序值对 arraylist 进行排序?

Java + Libgdx : Gdx. app.log() 空指针错误

android - 再次出现空指针异常

java - 使用 ArrayList 的 android java insertsort

java - 关闭线程时遇到问题