Boa noite.
Estou analisando um pequeno código que foi criado para gerar a exceção ‘arrayindexoutofbundsexception’ ao tentar executar o código.
Segue o código:
class A{
public static void main(String[] args){
System.out.print(args); //A
System.out.print(args.length); //B
System.out.print(args[0]); //C
}
}
Conforme previsto, ao tentar executar esse código a exception da linha C é gerada. A exception ocorre porque eu executo sem passar parâmetros para o método main. Dessa forma args está vazia. logo não é possível exibir o elemento [0] de args (ele nem existe).
Porém eu achava que iria gerar o ‘nullpointerexception’ na linha B. Uma vez que eu tento acessar uma propriedade de uma array que não foi inicializada ainda. Porém essa exception não ocorre.
Gostaria de entender porque.
Obrigado!