1. Los tipos básicos solo se pueden pasar por valor, mientras que la clase de encapsulación correspondiente a cada tipo básico se pasa por referencia.
2. Desde una perspectiva de rendimiento, los tipos básicos en Java se crean en la pila, y todos los tipos de objetos se crean en el montón (las referencias de los objetos se crean en la pila). Por ejemplo
Entero i = nuevo entero (10); donde se crea nuevo entero () en el montón, y su entero de referencia i está en la pila. La aparición de clases de encapsulación es utilizar más convenientemente algunos métodos que no están disponibles en tipos básicos, como valueOf (), toString (), etc. Además, si desea pasar una referencia a un objeto INT en lugar de un valor, solo puede usar clases de encapsulación.
La eficiencia de llamadas de la asignación de la memoria en la pila es muy diferente de la eficiencia de asignar memoria en el montón. Aunque la asignación de memoria en la pila es eficiente, hay fugas de memoria en la asignación de la memoria en la pila. (Este es un problema que los programadores mediocres no pueden resolver ...) Java usa un método muy genio para mejorar la eficiencia de la asignación de la memoria en el montón. A pesar de esto, Java sigue siendo lento. Es poco probable que llegue tan rápido como C ++, aunque ha prometido que algún día las oportunidades virtuales serán tan rápidas como el código de la máquina.
JDK5.0 se puede encapsular automáticamente, es decir, los datos básicos se pueden encapsular automáticamente en clases de encapsulación. La ventaja de los tipos de datos básicos es que son rápidos (no implican la construcción y el reciclaje de objetos). El propósito de las clases de encapsulación es principalmente manejar mejor la conversión de datos. Hay muchos métodos y son convenientes de usar.
Por supuesto, el paso del tipo de encapsulación es un pase de referencia, por ejemplo
Entero a = nuevo entero (1);
Indica que una referencia de tipo entero A se refiere a una memoria, y los datos en esta memoria son 1; y lo que se almacena en A es la referencia (dirección) de esta memoria. Al pasar A a otro método u objeto, se pasa la referencia de A.
Conversión entre tipos:
Cadena b = "123456";
int c = integer.parseInt (b);
Indica convertir la cadena 123456 en un número entero, donde la parseint es un método estático, que se puede usar directamente
Otro punto es que en algunos casos, las clases de encapsulación deben usarse, como una lista de colecciones, que solo puede agregar objetos, es decir, objeto. Entonces definitivamente no es posible almacenar directamente los números. Debe encapsular los números en objetos encapsulados y luego almacenarlos en la lista, como
List List = new ArrayList ();
list.add (nuevo entero (1));
list.add (nuevo entero (2));
list.add (nuevo entero (3));
list.add (nuevo entero (4));
Después de JDK5.0, se puede empaquetar automáticamente, por lo que se puede abreviar como
List List = new ArrayList ();
list.add (1);
list.add (2);
list.add (3);
list.add (4);
El artículo anterior comprende de manera integral las diferencias y aplicaciones de los tipos básicos de Java y los tipos de envasado. Este es todo el contenido que comparto con ustedes. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.