Argumento na linha de comando

2 respostas
Gustavo_Santos

galera quando eu passo um argumento na linha de comando assim:

public static void main(String... args) {
		System.out.println(args[0]);
		int x = 0;
	}

Eu tenho um ArrayIndexOutOfBoundException, que significa que não existe esse índice !

quando eu faço assim:

public static void main(String... args) {
		System.out.println(args.length);
		int x = 0;
	}

Ele me retorna 0. A dúvida é a seguinte:

Se posso chamar um método desse array então esse foi instânciado !
Quando um array de objetos é instânciado, todos os seus elementos recebem
valores padrão para o tipo do array.

Porque ele não imprime null na primeira imagem?

e porque não dá um NullPointer aqui ???

public static void main(String... args) {
		System.out.println(args[0].length());
	}

2 Respostas

Thiago_MuiLoko

Quando ele retorna 0 eh porque tem 0 elementos…

quando vc tenta fazer args[0] vc ta pegando o PRIMEIRO elemento, por isso da erro.

Caso vc quizer usar os argumentos, vc pode testar antes com um

args.length == 0

D

args tem tamanho 0, por isso não dá NullPointer.

Criado 10 de setembro de 2010
Ultima resposta 10 de set. de 2010
Respostas 2
Participantes 3