这个JAVA程序为什么报错?需要怎么改?能调用sort方法?
package test.shangxuetang;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class BasicContainer {
public static void main(String[] args) {
List list = new LinkedList();
list.add(new Name("wang","daren"));
list.add(new Name("wang","yaoqiang"));
list.add(new Name("li","chen"));
Collections.sort(list);
System.out.println(list);
}
}
class Name
{
private String firstName, lastName;
public Name(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public boolean equals(Object obj) {
if (obj instanceof Name) {
Name name = (Name) obj;
return (firstName.equals(name.firstName))
&& (lastName.equals(name.lastName));
}
return super.equals(obj);
}
}
运行时:
Exception in thread "main" java.lang.ClassCastException: test.shangxuetang.Name
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at test.shangxuetang.BasicContainer.main(BasicContainer.java:13)