compareTo

Goht
16 de Junio del 2005
como se comparan 2 objetos, o un objeto y un entero con compareTo...??

int l;
int i = 3;
Object o = new Integer (5);
l = i.compareTo(o);

MENSAJE DE ERROR!: int cannot be dereferended.

Solo he conseguido con compareTo a comparar 2 cadenas o una cadena y un objeto (de tipo cadena).
Gracias

Lemony Snicket
16 de Junio del 2005
Hola,...

El método compareTo() pertenece a la interfaz Comparable implementada entre otras por todas las clases wrapper (Integer, Float, Double, etc). Por tanto no puede ser utilizado para comparar un primitivo,...

Prueba,..

int l;
int i=3;
Integer m = new Integer(i);
Object o = new Integer(5);
l= m.compareTo(o);

Te recomiendo que eches un vistazo a la API.

rubece
16 de Junio del 2005
Para usar compareTo necesitas tener dos objetos cuya clase implemente la interfaz Comparable. Por tanto, si tienes dos variables de tipo int no podrás usarlo y no mejorará mucho si solo transformas uno de ellas a Integer. Lo que tienes que hacer es transformar las dos a objetos de tipo Integer, porque entre otras cosas los métodos son para los objetos no para los tipos primitivos. Lo que tienes que hacer es algo así:

int i = 1;
int j = 2;
Integer a = new Integer(i);
Integer b = new Integer(j);
int c = a.compareTo(b);

Bueno pues eso es todo. Espero que hayas comprendido lo que he querido hacer. Que te vaya bien. Hasta luego.

Goht
16 de Junio del 2005
Entonces si estoy construyendo un procedimiento generico, que trabaja con objetos (vamos que no se de que tipo van a ser los objetos, solo se sabe que son de las clases que implementan el interface comparable) como uso el compareTo con 2 objetos, sin saber si son Strings o Integer o lo que sea??

Gracias