java - arrayList 和 Object 数组的不同类型的错误

标签 java arrays sorting collections

我创建了一个 ArrayList 和一个来自 Student 类的对象数组,并且 Student 类不是 instanceof Comparable 接口(interface),所以当我使用 ArrayList 编写代码时,这会导致编译错误。

import java.util.*;

public class test {
    public static void main(String[] args) {
     ArrayList <Student> studentList = new ArrayList<>();
     studentList.add(new Student("Ahmed",50));
     studentList.add(new Student("Ameen",30));

     java.util.Collections.sort(studentList);
     System.out.println(studentList);

}
  }

public class Student {
    private String name;
    private int score;

    Student ( String name , int score){
        this.name= name;
        this.score = score;   
    }
}

当我用对象数组编写代码时,这会导致运行时错误

import java.util.*;

public class test {

    public static void main(String[] args) {

      Student [] student = new Student[2];
      student[0]=new Student("Ahmed",50);
      student[1]=new Student("Ameen",30);
     java.util.Arrays.sort(student);
     System.out.println(Arrays.toString(student));
}
}

public class Student {
    private String name;
    private int score;
    Student ( String name , int score){
        this.name= name;
        this.score = score;   
    }}

我的问题是为什么数组列表会出现编译错误,而对象数组会出现运行时错误? 谢谢。

最佳答案

ArrayList 是泛型类,泛型的主要好处是可以在编译时而不是运行时检测到错误。

关于java - arrayList 和 Object 数组的不同类型的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51251925/

相关文章:

javax.el.PropertyNotFoundException : Property 'id' not found on type model. 杂货店

java - 无法在新的 eclipse 安装中使用旧的 java 项目

javascript - AngularJS ngRepeat - 使用复选框按单个对象属性过滤列表

java - 在j2me中读取文件内容

Java 按二维数组文本文件中的名称和数字排序

java - 如何从 JAR 文件执行脚本?

java - 尝试为 Android 实现 google 登录时出现错误代码 12500

c++ - 将 C 风格数组从 xtensor 移至 `xt::array`

javascript - 在 JavaScript 中制作一对多关系数组

Python 初学者 - 使用 lambda 函数对元组进行排序