public class Student{ private int id; private String name; public Student(int id,String name){ this.id = id; this.name = name; } } public static void main(String[] args) { Set<Student> set = new TreeSet<>(); set.add(new Student(1,"xiaohei")); set.add(new Student(2,"xiaobai")); System.out.println(set.size()); }
时间: 2024-02-14 17:23:45 浏览: 136
这段代码创建了一个Student类,包含id和name属性以及一个构造方法。在主函数中,创建了一个TreeSet类型的set对象,用于存储Student对象,并向其中添加了两个Student对象。最后输出set的大小。
需要注意的是,由于Student类没有实现Comparable接口或提供Comparator比较器,因此在添加Student对象时,TreeSet无法确定它们之间的顺序。因此,当执行set.size()时,可能会抛出ClassCastException异常,提示无法将Student对象转换为java.lang.Comparable。为了解决这个问题,可以让Student类实现Comparable接口,并重写compareTo方法,或者在创建TreeSet对象时提供一个Comparator比较器。
相关问题
public class Student { private String name; private String id; private String gender; private int age; private String major; public Student(String name, String id, String gender, int age, String major) { this.name = name; this.id = id; this.gender = gender; this.age = age; this.major = major; } // getter and setter methods}
这是一个Java类,名为Student,它有5个私有属性,分别是name、id、gender、age和major。它还有一个构造函数,用于初始化这些属性的值。此外,它还包含一些getter和setter方法,用于获取和设置属性值。这个类的作用可能是表示一个学生对象,可以用于在学生信息管理系统中进行学生信息的存储和操作。
public class Student { private int ID; private String name; private char grade; // This constructor calls the second one! public Student(int ID, String name) { this(ID, name, 'A'); } public Student(int ID, String name, char grade) { if(ID < 0) { this.ID = 0; } else { this.ID = ID; } this.name = name; this.grade = grade; }
这段代码是一个Java类,名为Student,包含了三个私有属性:ID、name和grade。同时有两个构造方法,第一个构造方法接受ID和name两个参数,调用了第二个构造方法,并将grade默认设置为'A';第二个构造方法接受ID、name和grade三个参数,并对ID进行了小于0的判断。如果ID小于0,就将ID设置为0,否则就将ID设置为传入的ID值。
阅读全文