Cara, seguinte... se getAno retorna int, enxergue a expressão "a1.getAno()" como um int.
Assim, o que vc está fazendo é: int1.compareTo(int2); como int é tipo primitivo, não tem compareTo. A solução que eu sugeri foi: new Integer(int1).compareTo(new Integer(int2)); ou seja, new Integer(a1.getAno()).compareTo(new Integer(a2.getAno())); Abraço! Peter P. Lupo Undergraduating in Computer Science DCC/UFRJ Sun Certified Java Associate http://pplupo.googlepages.com/ Cell. +55 (21) 81742487 Jorge Ricardo Jau Junior wrote: > Nossa... > Na verdade, estou querendo fazer uma classe que implemente Comparator, > daí ela precisa do método compare() reescrito. > O problema é quando declaro que comparo os atributos primitivos. > Por exemplo: minha classe compara os anos em instâncias de alunos, por > exemplo. > Se uso: > > a1.getAno().compareTo(a2.getAno()); > > e ano for um int ou double o eclipse chia. > > Espero não estar repetindo dúvidas anteriores. > > Saudações. > > 2008/10/14 Peter <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > > Pode. Mas não é óbvio para quem lê. Eu faria "return new > Integer(int1).compareTo(new Integer(int2));" > > Abraço! > > Peter P. Lupo > Undergraduating in Computer Science DCC/UFRJ > Sun Certified Java Associate > http://pplupo.googlepages.com/ > Cell. +55 (21) 81742487 > > > > Gabriel Pires wrote: >> Não poderia usar int1-int2 ? =P >> >> 2008/10/14 Peter <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> >> >> Pelo que entendi, o problema é que o método não recebe como >> parâmetro tipos primitivos, apenas classes. >> Lembre-se que o compareTo só serve para dizer como comparar >> instâncias da classe que se está codificando, logo não faz >> sentido receber um tipo primitivo, já que vc não está >> codificando um tipo primitivo, e sim uma classe. >> Outra coisa que vale lembrar é que coleções só aceitam >> instâncias, não aceitam tipos primitivos. E as subclasses de >> Number (Double, Integer, etc) já implementam Comparable. >> >> Se vc fizer: >> >> Collection<Integer> c = new TreeSet<Integer>(); >> c.add(1); >> >> o compilador vai entender >> >> Collection<Integer> c = new TreeSet<Integer>(); >> c.add(new Integer(1)); >> >> O nome deste recurso é autoboxing. E a ordenação estará >> garantida. >> >> >> Abraço! >> >> P.S.: Buss, no compareTo vc não pode usar int1>=int 2 pq se >> for maior vc deve retornar um valor diferente de 0 e se for >> igual vc deve retornar 0. :¬þ então dificilmente vc vai usar >> o comparador >=. *rs* >> >> Peter P. Lupo >> Undergraduating in Computer Science DCC/UFRJ >> Sun Certified Java Associate >> http://pplupo.googlepages.com/ >> Cell. +55 (21) 81742487 >> >> >> >> Bruno Buss wrote: >>> Juro que não entendi... >>> >>> Qual o problema em usar int1 == int2? int1 >= int2? etc... >>> >>> 2008/10/14 Jorge Ricardo Jau Junior <[EMAIL PROTECTED] >>> <mailto:[EMAIL PROTECTED]>> >>> >>> O método compareTo() não faz comparações com tipos >>> primitivos, int e double.... >>> >>> Alguém sabe como resolver isso? Tipo, queria passar uma >>> comparação de inteiros sem ter que ficar convertendo... >>> >>> Saudações! >>> >>> -- >>> "A verdadeira luta só começa quando achamos que não dá >>> pra lutar mais." >>> >>> "Aquele que começou a boa obra em minha vida não terminou." >>> >>> >>> >>> >>> >>> -- >>> Bruno C. Buss >>> http://magoobr.blogspot.com/ >>> http://www.dcc.ufrj.br/~brunobuss/ >>> <http://www.dcc.ufrj.br/%7Ebrunobuss/> >>> >>> Aluno do DCC - UFRJ - www.dcc.ufrj.br <http://www.dcc.ufrj.br> >>> >>> if( ((*node)->valor) < (((*heap)[((*node)->gr)])->valor)) /* >>> WTF?! */ >>> >>> "Throughout your life, advance daily, becoming more skillful >>> than yesterday, more skillful than today. This is >>> never-ending." - Hagakure >>> >>> >> >> >> >> >> > > > > > > -- > "A verdadeira luta só começa quando achamos que não dá pra lutar mais." > > "Aquele que começou a boa obra em minha vida não terminou." > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Comp 2 - Geral" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/comp2-geral?hl=en -~----------~----~----~----~------~----~------~--~---
