Representar Caráter Vazio em Java

Mohammad Irfan 12 outubro 2023
  1. Criação de caracteres vazios em Java
  2. Criando um caractere vazio passando um caractere nulo em Java
  3. Criação de caracteres vazios usando um valor Unicode em Java
  4. Criação de caracteres vazios usando a constante MIN_VALUE em Java
Representar Caráter Vazio em Java

Este tutorial apresenta como representar caracteres vazios em Java.

Em Java, podemos ter um array char[] vazio, mas não podemos ter um char vazio porque se dissermos char, então char representa pelo menos um caractere, e um char vazio não faz sentido. Um valor char vazio não pertence a nenhum char, então Java dá um erro em tempo de compilação.

Para criar um caractere vazio, podemos atribuir a ele um valor nulo \0 ou um valor Unicode padrão \u0000. O \u0000 é um valor padrão para char usado pelo compilador Java no momento da criação do objeto.

Em Java, como outras primitivas, um char deve ter um valor. Vamos entender com alguns exemplos.

Criação de caracteres vazios em Java

Vamos criar um char vazio em Java e tentar compilar o código. Veja no exemplo a seguir, criamos uma única variável char ch e imprimimos seu valor para verificar se há algo para imprimir e ver se ele gera um erro de tempo de compilação.

public class SimpleTesting {
  public static void main(String[] args) {
    char ch = '';
    System.out.println(ch);
  }
}

Resultado:

Exception in thread "main" java.lang.Error : Unresolved compilation problem
    : Invalid character constant

O exemplo de código acima falha ao compilar devido a uma constante de caractere inválida. Significa que o Java não reconhece o char vazio, mas se atribuirmos um char com um espaço, o código compila com sucesso e imprime um espaço vazio no console.

Não devemos confundir space char com empty char, pois ambos são diferentes e o Java os trata de maneira diferente. Veja o exemplo abaixo.

public class SimpleTesting {
  public static void main(String[] args) {
    char ch = ' ';
    System.out.println(ch);
  }
}

Criando um caractere vazio passando um caractere nulo em Java

Esta é outra solução que pode ser usada para criar char vazio e pode evitar falha de compilação de código. Aqui, usamos \0 para criar um caractere vazio e funciona bem. Veja o exemplo abaixo.

public class SimpleTesting {
  public static void main(String[] args) {
    char ch = '\0';
    System.out.println(ch);
  }
}

Criação de caracteres vazios usando um valor Unicode em Java

Podemos usar o valor \u0000 para criar um caractere vazio em Java. O compilador Java usa esse valor para definir como valor padrão inicial char. Ele representa nulo que mostra um caractere vazio. Veja o exemplo abaixo.

public class SimpleTesting {
  public static void main(String[] args) {
    char ch1 = '\u0000';
    System.out.println(ch1);
  }
}

Criação de caracteres vazios usando a constante MIN_VALUE em Java

A classe Java Character fornece uma constante MIN_VALUE que representa o valor mínimo para uma instância de caractere. Em Java, o valor mínimo é um \u0000 que pode ser obtido usando a constante MIN_VALUE da classe Character e pode ser atribuído a qualquer variável char para criar um char vazio. Veja o exemplo abaixo.

public class SimpleTesting {
  public static void main(String[] args) {
    char ch = Character.MIN_VALUE;
    System.out.println(ch);
  }
}

Se você estiver trabalhando com a classe Character, poderá usar diretamente o literal nulo para criar uma instância char vazia em Java. Como a classe Character é derivada da classe Object, podemos atribuir null como uma instância. Veja o exemplo abaixo.

public class SimpleTesting {
  public static void main(String[] args) {
    Character ch = null;
    System.out.println(ch);
  }
}

Artigo relacionado - Java Char