求助!重写的compareTo方法出现NullPointerException
•发布于   •作者 橘子君灬  •355 次浏览  •来自 问答

public class T{

public static void main(String args[]){

List ll=new ArrayList();

ll.add(new name("王","大锤"));

ll.add(new name("王","小美"));

ll.add(new name("金","三胖"));

Collections.sort(ll);

System.out.println(ll);

}

}

class name implements Comparable{

private String firstName;

private String lastName;

public name(String firstname,String lastname){

this.firstName=firstName;

this.lastName=lastName;

}

//重写equals方法

public boolean equals(Object obj){

if(obj!=null){

if(obj instanceof name){

name nn=(name)obj;

return this.firstName.equals(nn.firstName)&&this.lastName.equals(nn.lastName);

}

return false;

}

return false;

//重写hashCode方法

public int hashCode(){

return firstName.hashCode()+lastName.hashCode();

}

//重写comparable中的compareto方法

public int compareTo(Object o) {

name n=(name)o;

int z=this.firstName.compareTo(n.firstName);//这句话报错

if(z!=0){

return z;

}

return this.lastName.compareTo(n.lastName);

}

}

Exception in thread "main" java.lang.NullPointerException

at com.oracle.java5.Test.name.compareTo(T.java:42)

at java.util.ComparableTimSort.countRunAndMakeAscending(Unknown Source)

at java.util.ComparableTimSort.sort(Unknown Source)

at java.util.Arrays.sort(Unknown Source)

at java.util.Arrays.sort(Unknown Source)

at java.util.ArrayList.sort(Unknown Source)

at java.util.Collections.sort(Unknown Source)

at com.oracle.java5.Test.T.main(T.java:11)


0 回复
回到顶部

©2017 Powered by 三十三行伪代码
皖ICP备17005175号-3