hindsight_demo 2021-06-06 12:24 采纳率: 0%
浏览 127

iterator空指针异常问题,求大佬解答

public class Test01 {
    public static void main(String[] args) {

        ArrayList<Student> arrList = new ArrayList<>();
        Student student = new Student("张三", 34, 91.2);
        Student student2 = new Student("张四", 20, 92.3);
        Student student3 = new Student("张五", 20, 93.4);
        Student student4 = new Student("张六", 34, 91.2);
        arrList.add(student);
        arrList.add(student2);
        arrList.add(student3);
        arrList.add(student4);
        System.out.println(arrList);

        Iterator<Student> iterator = arrList.iterator();
        while (iterator.hasNext()) {
            Student s =  iterator.next();
            System.out.println(s);
        }
    }
}


public class Student implements Comparator<Student> {
    private String name;
    private int age;
    private double scroe;

    public Student() {
    }

    public Student(String name, int age, double scroe) {
        this.name = name;
        this.age = age;
        this.scroe = scroe;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public double getScroe() {
        return scroe;
    }

    public void setScroe(double scroe) {
        this.scroe = scroe;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", scroe=" + scroe +
                '}';
    }

    @Override
    public int compare(Student o1, Student o2) {
        if (o1.scroe == o2.scroe){
            return o1.age - o2.age;
        }else return Double.compare(o1.scroe, o2.scroe);
    }
}

[Student{name='张三', age=34, scroe=91.2}, Student{name='张四', age=20, scroe=92.3}, Student{name='张五', age=20, scroe=93.4}, Student{name='张六', age=34, scroe=91.2}]
Exception in thread "main" java.lang.NullPointerException
    at lyj.homework.Test01.main(Test01.java:31)

  • 写回答

3条回答 默认 最新

  • CSDN专家-Time 2021-06-06 12:25
    关注

    检查一下循环是不是正常遍历到最后了

    Iterator<Student> iterator = arrList.iterator();
    for (Student s: iterator){
        System.out.println(s);
    }

    这样去迭代。

    评论

报告相同问题?