Como inicializar um String Array em Java

Hassan Saeed 12 outubro 2023
  1. Inicializar Array para o valor padrão em Java
  2. Inicializar Array para Valores Diretos em Java
  3. Inicializar Array para valores utilizando o Stream em Java
Como inicializar um String Array em Java

Este tutorial introduz métodos para inicializar uma array de strings em Java.

A array Java é de comprimento fixo; portanto, precisamos declarar uma array e inicializá-la para que ela possa alocar o armazenamento de memória correto para os elementos. Se apenas declararmos o array, não há memória alocada para os elementos, e ele irá lançar um erro quando você tentar atribuir um valor a qualquer índice do array.

Inicializar Array para o valor padrão em Java

O exemplo abaixo ilustra como inicializar uma array de String em Java. Ele cria um array com o comprimento especificado contendo os valores padrão null em todos os índices, definidos para o valor desejado mais tarde.

public class MyClass {
  public static void main(String args[]) {
    String[] myArr;
    myArr = new String[5];
    myArr[0] = "First";

    for (int i = 0; i < myArr.length; i++) {
      System.out.println(myArr[i]);
    }
  }
}

Resultado:

First
null
null
null
null

Reatribuímos o valor no primeiro índice para "First", enquanto todos os outros índices contêm o valor padrão null.

Vamos ver o que acontece se tentarmos atribuir um valor a qualquer índice de array sem inicializar o array.

public class MyClass {
  public static void main(String args[]) {
    String[] myArr;
    myArr[0] = "First";
  }
}

Resultado:

/MyClass.java:4: error: variable myArr might not have been initialized
        myArr[0] = "First";
        ^
1 error

Inicializar Array para Valores Diretos em Java

Também podemos inicializar uma array com os valores que precisamos na array. Neste caso, o comprimento da array seria fixado ao número de elementos para os quais inicializamos a array. O exemplo abaixo ilustra isto:

public class MyClass {
  public static void main(String args[]) {
    String[] myArr = {"First", "Second"};

    for (int i = 0; i < myArr.length; i++) {
      System.out.println(myArr[i]);
    }
  }
}

Resultado:

First
Second

O bloco de código acima criou um array de comprimento 2, uma vez que fornecemos 2 valores na inicialização.

Inicializar Array para valores utilizando o Stream em Java

Para Java 8 e acima, podemos fazer uso do Stream para inicializar um array de Strings com determinados valores. O exemplo abaixo ilustra isso:

import java.util.stream.*;
public class MyClass {
  public static void main(String args[]) {
    String[] strings = Stream.of("First", "Second", "Third").toArray(String[] ::new);
    for (int i = 0; i < strings.length; i++) {
      System.out.println(strings[i]);
    }
  }
}

Resultado:

First
Second
Third

Artigo relacionado - Java Array