NullPointerException duvida

2 respostas
LPJava

ae pessoal sempre fico com duvida quando o codigo compila e lança um essa exceção ou quando ele nao compila…

class N{
String s;

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

}

imprime null blz? mas quando lancaria a exceção- NullPointerException?

:?:

2 Respostas

Cabral

quando voce tenta acessar o objeto…

tenta dar um s.toUpperCase();

acredito que ele lançara a excessão…

Ricardo Cabral

Adriano_Almeida

NPE é quando você quer fazer uma operação e depende que o objeto esteja apontando para algum lugar na memória.

System.out.println(bla); não depende que seu objeto esteja apontando para algum lugar na memória, até porque, ele não vai executar nenhuma operação sobre ele, apenas vai imprimir o conteúdo.

Mas a coisa muda quando por exemplo vc tem

String s = null;
s = s.toUpperCase();

Aí você está executando uma operação sobre o objeto “s”, só que essa operação ( toUpperCase() ) depende do seu objeto apontar para algum lugar na memória, afinal, se ele vai converter pra maiúsculo, ele precisa de algo para converter.

Deu pra entender?

Criado 29 de março de 2007
Ultima resposta 29 de mar. de 2007
Respostas 2
Participantes 3