Puedo cambiar el valor de un Integer
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)
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)
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...
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...
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()
Para asignar un Integer a un int, prueba con parsetoint()., por ejemplo int a = b.parseToInt()
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.
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.