O que é null/nil em Java e como trabalhar com ele?
Olá a todos! Estou aprendendo os fundamentos de Java e me deparei com o conceito de null. Em algumas linguagens (como SQL ou Go), estou acostumado com o termo nil. Entendo corretamente que em Java não existe nil, e apenas null é usado? E se sim, o que é isso exatamente — uma referência vazia ou um valor especial?
O problema surgiu quando escrevi um código simples com a classe User e tentei chamar um método em um objeto que não inicializei:
public class User {
String name;
void printName() {
System.out.println(name.length());
}
public static void main(String[] args) {
User user = null;
user.printName(); // Aqui ocorre NullPointerException
}
}
Eu esperava que, se user fosse null, o método simplesmente não fizesse nada ou retornasse uma string vazia. Mas, em vez disso, o programa trava com um erro.
Já tentei:
- Verificar se