Diferença entre nulo e vazio

Índice:

Anonim

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