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

Responder a