Caba da TI

Caba da TI

Como instanciar um array em Java?

Nsse post iremos apresentar algumas das várias formas de se instanciar um array em Java.

1 – Criando array vazio e preenchendo posteriormente

//Cria o array com 7 posições. É obrigatório a informar o tamanho do arra (no caso, 7)
String[] diasDaSemana = new String[7];

//Adiciona os valores nas posições desejadas.
diasDaSemana[0] = "Domingo";
diasDaSemana[1] = "Segunda";

Essa é talvez a forma mais comum de se criar um array em Java. Algumas considerações ao se criar array dessa forma:

1 – a quantidade de posições do array deve ser informada de antemão. Caso não saiba previamente o tamanho do array talvez seja melhor utilizar uma List;

2 – o array deve ter seu tipo definido no momento da criação;

3 – caso tente inserir um valor em uma posição inexistente (por exemplo na posição 8) será lançada uma exceção.

2 – Instanciar array no momento da declaração já contendo elementos

//cria o array já com os elementos necessários
String[] diasDaSemana = {"Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado" };

3 – Utilizando Arrays.copyOf

String[] diasDaSemana = {"Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado" };

//cria uma cópia do array diasDaSemana, contendo apenas 3 posições (apenas Domingo, Segunda e Terça)
String[] copiaDeDiasDaSemana = Arrays.copyOf(diasDaSemana, 3);

//cria uma cópia do array diasDaSemana, contendo mais que 7 posições (as demais ficarão nulas)
String[] copiaDeDiasDaSemana2 = Arrays.copyOf(diasDaSemana, 3);

O Arrays.copyOf cria uma cópia de um array previamente existente. Ele possui várias sobrecargas com diferentes parâmetros.

4 – Criando o array a partir de uma Lista (ArrayList ou outra)

//dias da semana em uma List
List<String> diasDaSemana = new ArrayList<>(Arrays.asList("Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"));

//cria o array a partir da da lista. Nessa forma é criado um array de Object
Object[] copiaDeDiasDaSemanaComoObject = diasDaSemana.toArray();

//cria o array a partir da da lista, com o tipo especificado, nesse caso, array de String (nesse caso é necessário informar o tamanho do array)
String[] copiaDeDiasDaSemana = diasDaSemana.toArray(new String[7]);


Referências

Initializing Arrays in Java

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *