1. String[] str = new String[]{"teste", "teste", "teste"};
2. String str[] = new String[]{"teste", "teste", "teste"};
3. String str[] = new String(){"teste", "teste", "teste"};
4. Integer[] inteiro[] = {{1,2,3},{1,2,3},{1,2,3}};
Qual a opção correta?
A) 1, 2 e 4 estão corretas
B) Apenas a alternativa 4 está correta
C) Apenas 2 e 4 estão corretas
D) Todas estão corretas
E) Todas estão incorretas
resposta correta:
letra A
EDIT:
Conforme sugerido por Diego, segue explicações sobre as alternativas:
1) Nesta alternativa, ao mesmo tempo que eu crio um array eu já adiciono seus elementos. Seria o mesmo que eu fizesse:
String[] str = new String[3];2) Exatamente igual a alternativa 1 a única diferença é que o [] está no identificador e não no tipo da variável.
str[0] = "teste";
str[1] = "teste";
str[2] = "teste";
3) Está incorreto pois na declaração de um array vc não utiliza ();
4) Está correto o [] está tanto no tipo da variável quanto no identificador da mesma, o que transforma-a em um array multidimensional, e este está sendo estanciado e os valores sendo adicionados no momento da criação. Parecido com a alternativa 1 só que de forma multidimensional.