Para utilizar um vetor é mandatório vc inicializá-lo ou fazê-lo apontar para um outro já criado e do mesmo tipo, quando vc cria variavél como null vc apenas criou a referência e não o vetor. Se, após feito isso, quiser o tamanho dele basta usar o atributo length da variável.
Mesmo assim seu código, do jeito que está continuará gerando erros, pois as variáveis do vetor(Object) que vc está chamando em System.out.println(obj[i]), tb não receberam nenhum objeto, dessa forma, elas tb mantém seu valor padrão null. Este último erro é causado por vc usar, não sei porque, o pós-incremento da variável i no meio do código.
Por último, se vc apenas corrigir para:
O correto seria Object[] obj = new Object[ 10 ];
no final vc ainda terá uma exceção do tipo ArrayIndexOutofBounds devido ao i++ que vc colocou no meio do código.
[quote=xwillianx]
Mas e se ele quiser somente contar em off os objetos existentes, sem precisar visualizar o objetos? :lol:[/quote]
Como assim em off? Para mim ainda é um mistério como ele quer contar algo que é null, e outra, ele nem está contando nada, está tentando atribuir algo a uma posição que nem existe. Ele vai ter uma bela NullPointerException ao tentar acessar uma referência null.
Se vc inicializar com 0, estará criando apenas uma posição no vetor.
No código que o nosso amigo postou, geraria uma excecao pois estouraria o vetor.
Object[] obj = new Object[0];
for (int i =0; i<=10; i++){
}
Nesse caso, para não estourar, o certo e usar a var. length, como disse nosso amigo.
[code] Object[] obj = new Object[0]; //apenas um laço
for (int i =0; i obj.length; i++){
} [/code]
Um vetor é um Objeto. Todo objeto, assim como as variáveis locais (dentro dos metodos) antes de serem usados deve ser inicializados. Quando voce inicializa o vetor de objetos como a seguir:
Object[] obj = new Object[10];
vc está criando 11 posições, sendo que em cada posição estará com o valor padrao do tipo do vetor que no caso é um objeto.
Se voce fizer:
for (int i =0; i obj.length; i++)
System.out.println(obj[i]);
será impresso null 11 vezes pois o valor padrão do object é null, assim como se o tipo do vetor fosse um int, seria impresso o numero 0 que é o padrao de int.
Sendo bem redundante, vc inicializou o vetor mas não disse o que tem em cada posição.
estou fazendo um trabalho para faculdade e estou com dúvida de como resolver meu problema.
seguinte, tenho uma classe produtos(nome, preco, etc), uma classe entradaProduto e uma itemProduto.
tenho que registrar uma lista de produtos de uma vez só no db.
no caso, o usuário seleciona o produto e coloca quantidade e preço. depois ele seleciona outro produto e coloca quantidade e preço, e assim por diante.
minha dúvida é a seguinte: tenho que fazer um array de objetos? tem como fazer isso?