Diferença entre nulo e vazio
Índice:
o principal diferença entre nulo e vazio é que o null é usado para se referir a nada, enquanto empty é usado para se referir a uma string única com comprimento zero.
Uma String se refere a uma sequência de caracteres. Por exemplo, “programação” é uma String. A linguagem de programação Java oferece suporte a Strings e eles são tratados como objetos. A classe String é imutável. Portanto, depois de criar um objeto, ele não pode ser alterado. Às vezes, Strings podem ser nulos ou vazios. Quando a variável String é atribuída com nulo, isso indica que a variável não está realmente se referindo a nenhum local da memória no heap. No entanto, quando uma variável String é atribuída com uma String vazia, isso indica que a variável de referência está se referindo a um local de memória de uma string com comprimento zero.
Vazio, Nulo, Strings
O que é nulo
Nulo não se refere a nada. Observe as duas declarações abaixo.
Figura 1: O programa irá anular a string
s1 é uma variável String. É atribuído a nulo. Portanto, a JVM não alocará nenhuma memória, de modo que a variável s1 não apontará para nada. A instrução String s1 = null; também é equivalente a String s1; Ao imprimir o comprimento da String s1, ele fornecerá uma exceção de ponteiro nulo. Isso ocorre porque o s1 não se refere a uma string real para contar o comprimento.
O que está vazio
Vazio se refere a uma string sem comprimento. Consulte o código abaixo.
Figura 2: Programa com string vazia
s2 é uma variável String. Ele é atribuído com uma string vazia que é “”. Portanto, a JVM alocará espaço de memória para uma string vazia. s2 se referirá a essa string vazia. Ao imprimir o comprimento da String s2, ele imprimirá 0. Isso porque s1 está apontando para uma String, mas não tem nenhum caractere para contar o comprimento.
Diferença entre nulo e vazio
Definição
O nulo é um termo que indica que um objeto não está se referindo a nada no heap, enquanto vazio é um termo que indica que um objeto está se referindo a uma string exclusiva de comprimento zero no heap.
Sintaxe
String s1 = nulo; ou String s1; expressa que s1 está se referindo a nada ou nulo. String s2 = “”; expressa que s2 está se referindo a uma string vazia.
Comprimento
Imprimir o comprimento da string nula fornecerá uma exceção de ponteiro nulo. Imprimir o comprimento da string vazia resultará em zero.
Conclusão
Uma String se refere a uma sequência de caracteres. Às vezes, as strings podem ser nulas ou vazias. A diferença entre nulo e vazio é que o nulo é usado para se referir a nada, enquanto o vazio é usado para se referir a uma string única com comprimento zero.
Referência:
Ponto de tutoriais. “Java Strings.” Www.tutorialspoint.com, Tutorials Point, 12 de agosto de 2018, disponível aqui.
![Diferença entre nulo e vazio Diferença entre nulo e vazio](https://img.books-kingdom.com/images/001/image-2279.jpg)