Pessoal,
Sobre essa questão, quando eu declaro new int[]{1,2,3,4,5}…na verdade eu estou declarando como se fosse um array bidimensional de inteiros?
Isso vai compilar?
int iArray[5] = new int[]{1,2,3,4,5};
Pessoal,
Sobre essa questão, quando eu declaro new int[]{1,2,3,4,5}…na verdade eu estou declarando como se fosse um array bidimensional de inteiros?
Isso vai compilar?
int iArray[5] = new int[]{1,2,3,4,5};
nao vai compilar…
em java, vc nao define o tamanho do array…
vc nao pode fazer:
vc deve fazer:
outra coisa, int é primitivo, nao eh uma Classe…
se vc quiser montar um array bidimensional vc deve informar pelo menos o tamanho da primeira coluna, para que a JVM possa alocar espaco na memoria:
Não compila.
O tamanho do array deve ser setado na construção, assim:
int iArray[] = new int[5];
Mas se não me engano, vc não pode colocar o tamanho dele quanto inicializa da maneira como está fazendo.
O array acima é simples, não bidimencional.
:shock: :shock:
new int[5]; -> o JVM faz a conversão implicitamente?
nao vai compilar…
em java, vc nao define o tamanho do array…
Isso funciona normalmente…
Este código nao compila.
Isto acontece por causa do iArray[5] (do 5 ). Isto não é permitido. A comprimento é sempre do lado direito no momento da criação do array.
Mas isto funciona: int iArray[] = new int[]{1,2,3,4,5};
Como assim ?
É um array primitivo, simples assim…
nao vai compilar…
em java, vc nao define o tamanho do array…
Como não ???Isso funciona normalmente…
O que quis dizer é vc deve informar apenas a quantidade de elementos de uma dimensão, assim os objetos podem ser instanciados na memória
As formas de inicialização são:
int a[] = new int[5]; // OK
int a[] = new int[] {1, 2, 3, 4}; // OK
Se o teu array for de uma wrapper class, tipo Integer, então vc pode até fazer isso no java 5:
Integer a[] = new Integer[] {1, 3, 4};
a[0] = 3;
Integer x = a[0];
E isto funciona por causa do autoboxing: o java converte de int para Integer e de Integer para int de acordo com a necessidade.
tbm é possivel criar um array multidimensional assim olha …
int[][] array = new int[][]{{1,2,3}, {}};