1. Os tipos básicos só podem ser passados por valor, enquanto a classe de encapsulamento correspondente a cada tipo básico é passada por referência.
2. De uma perspectiva de desempenho, os tipos básicos em Java são criados na pilha e todos os tipos de objetos são criados na pilha (as referências de objetos são criadas na pilha). por exemplo
Inteiro i = novo número inteiro (10); onde o novo inteiro () é criado na pilha e seu número inteiro de referência I está na pilha. O surgimento de classes de encapsulamento é usar mais convenientemente alguns métodos que não estão disponíveis em tipos básicos, como valueof (), tostring () etc. Além disso, se você deseja passar uma referência a um objeto INT em vez de um valor, pode usar apenas classes de encapsulamento.
A eficiência de chamada de alocar memória na pilha é muito diferente da eficiência de alocar memória na pilha. Embora alocar a memória na pilha seja eficiente, há vazamentos de memória na alocação da memória na pilha. (Este é um problema que os programadores medíocres não podem resolver ...) Java usa um método muito genial para melhorar a eficiência da alocação da memória na pilha. Apesar disso, Java ainda é lento. É improvável que ele alcance tão rápido quanto o C ++, embora tenha prometido que um dia as oportunidades virtuais serão tão rápidas quanto o código da máquina.
O JDK5.0 pode ser encapsulado automaticamente, ou seja, os dados básicos podem ser automaticamente encapsulados nas classes de encapsulamento. A vantagem dos tipos de dados básicos é que eles são rápidos (não envolvem construção e reciclagem de objetos). O objetivo das classes de encapsulamento é principalmente lidar melhor com a conversão de dados. Existem muitos métodos e são convenientes de usar.
Obviamente, o passe do tipo de encapsulamento é um passe de referência, por exemplo
Inteiro a = novo número inteiro (1);
Indica que uma referência do tipo inteiro a se refere a uma peça de memória, e os dados nesta peça de memória são 1; e o que é armazenado em A é a referência (endereço) desta peça de memória. Ao passar a outro método ou objeto, a referência de A é passada.
Conversão entre tipos:
String b = "123456";
int c = integer.parseint (b);
Indica a conversão da string 123456 em um número inteiro, onde a parseint é um método estático, que pode ser usado diretamente
Outro ponto é que, em alguns casos, as classes de encapsulamento precisam ser usadas, como uma lista de coleções, que só pode adicionar objetos, ou seja, objeto. Definitivamente, não é possível armazenar diretamente números. Você precisa encapsular os números em objetos encapsulados e depois armazená -los na lista, como
Lista da lista = new ArrayList ();
list.add (novo número inteiro (1));
list.add (novo número inteiro (2));
list.add (novo número inteiro (3));
list.add (novo número inteiro (4));
Após o JDK5.0, pode ser embalado automaticamente, para que possa ser abreviado como
Lista da lista = new ArrayList ();
list.add (1);
list.add (2);
list.add (3);
list.add (4);
O artigo acima entende de forma abrangente as diferenças e aplicações dos tipos básicos de Java e tipos de embalagem. Este é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.