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
-~----------~----~----~----~------~----~------~--~---

Responder a