Ok, vou testar. 2008/10/15 Peter <[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 Associatehttp://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]> > >> 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 Associatehttp://pplupo.googlepages.com/ >> Cell. +55 (21) 81742487 >> >> >> >> Gabriel Pires wrote: >> >> Não poderia usar int1-int2 ? =P >> >> 2008/10/14 Peter <[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 Associatehttp://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]> >>> >>>> 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 >>> >>> 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." --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
