Por que não enviar para a lista? É algum segredo ou algo do tipo?
É um fato, no mínimo, curioso funcionar com double e não funcionar com int
ou usando new Integer, se virmos o código também poderemos ver o que está
errado e também aprenderemos, tendo mais chances de não acontecer o mesmo
problema quando programarmos.
Se fosse uma lista, algum trabalho que valesse pontos eu até entenderia, mas
não vejo motivo para esconder de nós o motivo dessa situação inusitada.

[ ]s

Igor Ramos

2008/10/16 Peter <[EMAIL PROTECTED]>

>  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 Associatehttp://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]>
>
>> 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."
>>
>
>
>
> --
> "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."
>
>
>
> >
>


-- 
Igor Ramos

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