¿Dónde está instanciado un número entero va a estar ubicado en la memoria?

Irinel:

Tengo una pregunta; No sé si es tonta o no ... pero de todos modos voy a pedir que todos sabemos que cuando decimos String name = "someName";que sabemos que esto es una cadena agrupada por lo que no se va a poner en el montón / pila, pero ...

si decimos que Integer integer = new Integer(888);sabemos que esto se va a poner en el montón ... a continuación, Integer otherInteger = 444;donde se "otherInteger" va a conseguir? lo que la posición de memoria? ¡Gracias!

Ulviyya Ibrahimli:

String name = "somename"; La cadena es inmutable clase y tipo de cuerdas es de referencia o de tipo no primitivo, así punto nombre de referencia a objeto "somename", que se coloca en "pool String-constante-", en el montón. (Sin pila). Entero es clase de contenedor (proporciona el mecanismo para convertir primitiva en objeto y objeto en primitivo). El código entero otherInteger = 444; es un ejemplo de auto-boxing ( https://docs.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html ) y compilador convierte automáticamente esta línea a entero otherInteger = Integer.valueOf (444) ; . Así, Integer otherInteger = Integer.valueOf (444) vuelven objeto Integer es decir, este se coloca en el montón.

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=378802&siteId=1
Recomendado
Clasificación