fala povo, bom sou iniciante no mundo java, estou começando a estudar e estou gostando muito.
bom estou mechendo com listas agora e pintou um erro que não entendi muito bem, eu criei um metodo chamado cadastrarImoveis() que cadastra na lista os imoveis de um determinado proprietario, sendo que o 1º ele cadastra tranquilo + quando vai cadastrar o segundo sempre da erro!, vejam o código:
classe Proprietario: "não vou colocar a classe toda"
package ex3;
import java.util.*;
import java.util.Set;
import java.util.Scanner;
public class Proprietario {
private Integer id;
private String nome;
private Set<Imovel> imoveis = new TreeSet<Imovel>();
public void cadastrarImoveis(){
String op;
Scanner scan = new Scanner(System.in);
Imovel imovel = new Imovel();
System.out.println("entre com o endereço da casa?");
imovel.setEndereco(scan.nextLine());
this.imoveis.add(imovel);
System.out.println("Deseja inserir Imoveis? \"S\" para sim, para acabar entre com qualquer valor");
op = scan.nextLine();
if(op.equalsIgnoreCase("s")){
this.cadastrarImoveis();
}
}
}
metodo main() na classe Main:
public static void main(String[] args) {
String op;
Proprietario proprietario = new Proprietario();
Scanner scan = new Scanner(System.in);
System.out.println("entre com o nome do Proprietario:");
proprietario.setNome(scan.nextLine());
proprietario.cadastrarImoveis();
}
a menssagem exibida é essa:
[color=red]Exception in thread "main" java.lang.ClassCastException: ex3.Imovel cannot be cast to java.lang.Comparable
at java.util.TreeMap.put(TreeMap.java:542 )
at java.util.TreeSet.add(TreeSet.java:238 )
at ex3.Proprietario.cadastrarImoveis(Proprietario.java:32 )
at ex3.Proprietario.cadastrarImoveis(Proprietario.java:38 )
at ex3.Main.main(Main.java:16)
Java Result: 1[/color]