Me mande o código (privado, não mande pra lista) pra eu ver, por favor. 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: > Curioso... Só funcionou com double... usando new Integer dá o mesmo erro. > > 2008/10/15 Jorge Ricardo Jau Junior <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> > > Ok, vou testar. > > 2008/10/15 Peter <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > > 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." >> >> > > > > > > -- > "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." > > > > > -- > "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 -~----------~----~----~----~------~----~------~--~---
