Array de 0 ou -1

10 respostas
C

O que acontece se criarmos uma array de 0 elementos? e -1?
(Apostila Caelum)

Pra que raios vai servir um array de 0 elementos?

E -1? Não entendi… =/

Alguém explica?

10 Respostas

E

Um array de 0 elementos (que é uma coisa muito interessante que existe no Java) é muito útil para representar uma lista vazia.

Não existe um array de -1 elementos, assim como não existe uma turma de -1 alunos.

luiz.portnoy

Isso é uma pegadinha.

Um array com 0 elementos vai ser um objeto que está apontando para nada. Ao acessar algo, você vai receber um NullPointerException.
Um array com -1 é impossível. Ao tentar acessar por esse índice você receberá um ArrayIndexOutOfBoundsException.

Guitar_Men

Opa não é que ele esteja apontando para o nada, ele apenas não possui elementos. Ao percorrê-lo com um iterator no primeiro while ele cai fora. Os métodos de adição estão disponíveis.

luiz.portnoy

É, tem razão, eu tava revendo isso agora… :lol:

marcelo.bellissimo

luiz.portnoy:
Isso é uma pegadinha.

Um array com 0 elementos vai ser um objeto que está apontando para nada. Ao acessar algo, você vai receber um NullPointerException.
Um array com -1 é impossível. Ao tentar acessar por esse índice você receberá um ArrayIndexOutOfBoundsException.


Tem um detalhe aí, veja:

String[] arrayDeStrings;

A variável arrayDeStrings existe. Agora, os elementos que ele deveria referenciar através dos índices é que não existem, todos serão nulos, causando um ArrayIndexOutOfBoundsException ao tentar acessar qualquer um deles.

Array de -1 é dose, seria um array com “débito” de elementos? :lol:
“Te devo um elemento!” :roll:

C

Esse array String q entra como argumento no main?
O q significa?

public static void main (String[] args)
evertonsilvagomesjav

marcelo.bellissimo:
luiz.portnoy:
Isso é uma pegadinha.

Um array com 0 elementos vai ser um objeto que está apontando para nada. Ao acessar algo, você vai receber um NullPointerException.
Um array com -1 é impossível. Ao tentar acessar por esse índice você receberá um ArrayIndexOutOfBoundsException.


Tem um detalhe aí, veja:

String[] arrayDeStrings;

A variável arrayDeStrings existe. Agora, os elementos que ele deveria referenciar através dos índices é que não existem, todos serão nulos, causando um ArrayIndexOutOfBoundsException ao tentar acessar qualquer um deles.

Array de -1 é dose, seria um array com “débito” de elementos? :lol:
“Te devo um elemento!” :roll:

Isso da NullPointerException e nao ArrayIndexOutOfBOundsException

Guitar_Men

Isso ai, ArrayIndexOutOfBOundsException só da ao acessar índices que não existem…

marcelo.bellissimo

[quote=cake]Esse array String q entra como argumento no main?
O q significa?

public static void main (String[] args)

São parametros que você pode passar através da linha de comando, por exemplo, chame seu programa assim:

java MeuPrograma teste blablabla

E ao fazer isso, teste no programa:

System.out.println(args[0]); // teste System.out.println(args[1]); // blablabla

Quando o parametro for um array, não é preciso declarar o tamanho dele, ele vai aceitar um array de qualquer tamanho…

Marky.Vasconcelos

Declarar um array de 0 elementos.

int x[] = new int[0];
int x[] = new int[]{};
int x[] = {};

É util quando voce precisa do retorno de algo e caso não exista ele simplesmente não entra na iteração.
Se não voce precisava fazer um if not null ou sei lá.

Criado 30 de agosto de 2010
Ultima resposta 30 de ago. de 2010
Respostas 10
Participantes 7