Bom dia, estou com um pequeno problema na hora de ordenar e imprimir um ArrayList.
class Pessoa implements Comparable<Pessoa>{
String nome, score;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}
public boolean equals(Pessoa p){
return score.equals(p.score);
}
@Override
public int compareTo(Pessoa p) {
return score.compareTo(p.score);
}
}
private void imprimir()throws IOException{
ArrayList<Pessoa> array = new ArrayList<Pessoa>();
FileReader reader = new FileReader(new File("output.txt"));
BufferedReader leitor = new BufferedReader(reader);
String linha = null;
while((linha != leitor.readLine())){
Pessoa p = new Pessoa();
p.setNome(leitor.readLine());
p.setScore( leitor.readLine());
array.add(p);
}
leitor.close();
reader.close();
Collections.sort(array);
String mostra="";
// carregando a string para imprimir
for(Pessoa i: array){
mostra = mostra + i.nome+" "+i.score+"\n";}
JOptionPane.showMessageDialog(null,mostra);
}
O erro é o seguinte:
Exception in thread “main” java.lang.NullPointerException
at java.lang.String.compareTo(Unknown Source)
at snake2.Ranking$Pessoa.compareTo(Ranking.java:47)
at snake2.Ranking$Pessoa.compareTo(Ranking.java:1)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at snake2.Ranking.imprimir(Ranking.java:80)
at snake2.Ranking.main(Ranking.java:100)
No bloco de notas onde salvo os nomes e scores(output.txt), estão todos certos. O que penso que seja o problema é na hora de add no arraylist ou na hora de ordenar.
Agradeço desde já.