Puedo cambiar el valor de un Integer

keroppi
07 de Noviembre del 2007
Tengo un Integer inicializado a un valor, pero quiero cambiar ese valor. El compilador no me deja!!

ej.:

Integer a=new Integer(2);
int b = 3;
a=b; //no deja hacerlo

//(En la solucion no puedo crear un nuevo Integer, necesito cambiar el valor contenido en a)

Monica
07 de Noviembre del 2007
Hola!

si b es de tipo int, supongo que es por eso.
¿Has probado a que b sea tb un integer? No es si es eso a lo que te referías que es la solución no puedes crear un nuevo integer...

minyatur
07 de Noviembre del 2007
El tipo int y el tipo Integer no son el mismo, para el compilador es como si fueran tan diferentes como el tipo date o time. La solucion esta en realizar una conversion de tipos:
Para asignar un Integer a un int, prueba con parsetoint()., por ejemplo int a = b.parseToInt()

Dani
07 de Noviembre del 2007
Como bien comentas objeto Integer no tiene ningún método para modificar el valor del atributo int que tiene encapsulado.

Solo te puedo dar dos opciones para tu caso, la primera sería crearte una clase que extienda de Integer e implementar un método set para el int que tiene encapsulado.

La segunda sería pasarle como parámetro un objeto int[] a = new int[1]. Eso sí deberás gestionar al principio y final de la función tu "pila".

Un saludo.