Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Pessoa p = null;
- String nome = p.nome; // <-- NullPointerException aqui.
- Pessoa p = null;
- String nome = p.getNome(); // <-- NullPointerException aqui.
- Integer x = null;
- int z = x; // <-- NullPointerException aqui.
- Integer x = null;
- int z = x + 5; // <-- NullPointerException aqui.
- throw new NullPointerException();
- Exception x = null;
- throw x; // <-- NullPointerException aqui.
- String[] x = null;
- int tamanho = x.length; // <-- NullPointerException aqui.
- String[] x = null;
- String y = x[5]; // <-- NullPointerException aqui.
- String[] x = null;
- for (String y : x) { // <-- NullPointerException aqui.
- // ...
- }
- Object x = null;
- synchronized (x) { // <-- NullPointerException aqui.
- // ...
- }
- Pessoa p = null;
- Supplier<String> f = p::toString; // <-- NullPointerException aqui.
- String x = null;
- int x = null; // Erro de compilação!
- System.out.println(null); // Ok.
- String mensagem = JOptionPane.showInputDialog(null); // Ok.
- JPanel panel = new JPanel(null); // Ok.
- public String getXpto() {
- return null;
- }
- public void algumMetodo() {
- String xpto = getXpto(); // Ok. Recebe null.
- }
- String[] array = new String[] {"a", "b", "c"};
- array[1] = null;
- String valor = array[1]; // Ok. Recebe null.
- private void metodo(String... parametros) {
- System.out.println(parametros);
- }
- private void outroMetodo() {
- // Não dá NullPointerException.
- // Passa como parâmetro um array com um único elemento que é null.
- metodo(null);
- // Não dá NullPointerException.
- // Passa como parâmetro um array com dois elementos null.
- metodo(null, null);
- // Não dá NullPointerException.
- // Passa como parâmetro null.
- metodo((String[]) null);
- }
- String[] x = new String[] {"a", "b", null, "c"};
- for (String z : x) {
- System.out.println(z);
- }
- String[] x = new String[] {"a", "b", null, "c"};
- for (String z : x) {
- System.out.println(z.length()); // <-- NullPointerException aqui.
- }
- Integer t = null;
- t.parseInt("123"); // Pegadinha: t é null, mas isso NÃO DÁ NullPointerException!
- System s = null;
- Object x = s.out; // Não dá NullPointerException!
- Pessoa p;
- p.setNome("Maria"); // Erro de compilação, a variável p não foi inicializada.
- Pessoa q;
- if (x > y) q = new Pessoa(); // Pode inicializar ou não, dependendo da condição do if.
- // Erro de compilação, a variável q possivelmente não foi inicializada.
- q.setNome("Maria");
- Pessoa p = new Pessoa();
- Animal p = ...;
- if (p instanceof Cachorro) {
- // Se entrar aqui, além de sabermos que p é instância de Cachorro,
- // também sabemos que p não é null.
- }
- Animal a = null;
- // Recebe null. Não lança NullPointerException e nem ClassCastException.
- Cachorro c = (Cachorro) a;
- String x = "a" + null + "b"; // Recebe "anullb". Não dá NullPointerException.
- if (x == null) {
- // Faz alguma coisa. Não utiliza o x aqui.
- } else {
- // Pode utilizar o x seguramente.
- }
- public void cadastrarNome(String nome) {
- if (nome == null) throw new NullPointerException("Não pode cadastrar um nome nulo.");
- // ... Resto do método.
- }
- public void cadastrarNome(String nome) {
- if (nome == null) {
- throw new IllegalArgumentException("Não pode cadastrar um nome nulo.");
- }
- // ... Resto do método.
- }
- public double somarParcelas() {
- if (parcela1 == null || parcela2 == null) {
- throw new IllegalStateException("Nem todas as parcelas foram adquiridas");
- }
- // ... Resto do método.
- }
- public void cadastrarNome(String nome) {
- Objects.requireNonNull(nome, "Não pode cadastrar um nome nulo.");
- // ... Resto do método.
- }
- public double somarParcelas() {
- Objects.requireNonNull(parcela1, "A primeira parcela ainda não foi adquirida.");
- Objects.requireNonNull(parcela2, "A segunda parcela ainda não foi adquirida.");
- // ... Resto do método.
- }
- String x = ...;
- Optional<String> opt = Optional.ofNullable(x);
- // Neste ponto, opt nunca será nulo, e portanto pode ser
- // sempre utilizado seguramente (embora o conteúdo dele possa ser nulo).
- public class MeuBean {
- private String nome;
- private List<Pessoa> pessoas;
- // Outros métodos...
- public String getNome() {
- return nome == null ? "" : nome;
- }
- public List<Pessoa> getPessoas() {
- return pessoas == null ? Collections.emptyList() : pessoas;
- }
- }
- public void cadastrarNome(String nome) {
- String nomeParaCadastrar = nome == null ? "Sem nome" : nome;
- // ... Resto do método.
- }
- public class Pessoa {
- private String nome;
- private int idade;
- // ... Métodos.
- // Método que retorna um Null Object.
- public static Pessoa ninguem() {
- Pessoa naoTem = new Pessoa();
- naoTem.nome = "Ninguém";
- naoTem.idade = 0;
- return naoTem;
- }
- }
- public class Carro {
- private String modelo;
- private String cor;
- private int ano;
- private Pessoa proprietario;
- // ... Métodos.
- // Método que retorna um Null Object.
- public static Carro vazio() {
- Carro carroVazio = new Carro();
- carroVazio.modelo = "nenhum";
- carroVazio.cor = "nenhuma";
- carroVazio.ano = 0;
- carroVazio.proprietario = Pessoa.ninguem();
- return carroVazio;
- }
- }
- public interface Animal {
- public String fazerBarulho();
- }
- public class Cachorro implements Animal {
- @Override
- public String fazerBarulho() {
- return "Au au";
- }
- }
- public class Gato implements Animal {
- @Override
- public String fazerBarulho() {
- return "Miau";
- }
- }
- public class AnimalNenhum implements Animal {
- @Override
- public String fazerBarulho() {
- return "";
- }
- }
- public class Endereco{
- public String rua;
- public String localidade;
- public Endereco(String rua, String localidade){
- this.rua = rua;
- this.localidade = localidade;
- }
- public String getMoradaCompleta(){
- return rua + "," + localidade;
- }
- }
- public printMoradaCompleta(Endereco endereco){
- String morada = endereco.getMoradaCompleta();
- System.out.println(morada);
- }
- public printRua(Endereco endereco){
- String rua = endereco.rua;
- System.out.println(rua);
- }
- public int getSecondElementFromArray(int[] array){
- return array[1];
- }
- public printMoradaCompleta(Endereco endereco){
- if(endereco == null){
- throw new IllegalArgumentException("O endereço não pode ser nulo");
- }
- String morada = endereco.getMoradaCompleta();
- System.out.println(morada);
- }
- ArrayList<String> texto = null; //definido como null
- texto.add("texto");
- Pessoa p;
- System.out.Println(p.getNome());
- ArrayList<String> texto = null;
- int i = texto.length;
- Pessoa p = new Pessoa("maria");
- Pessoa pessoas[] = null;
- pessoas[0] = p;
- Pessoa pessoa = new Pessoa();
- Pessoa pessoa = null;
- public void processaPessoa(Pessoa pessoa) {
- int idade = pessoa.getIdade(); //se pessoa é null, aqui será lançada uma NullPointerException.
- ...
- }
- public void processaPessoa(Pessoa pessoa) {
- // ... não importa o código que tem aqui.
- }
- public void processaPessoa(Pessoa pessoa) {
- if (pessoa.getIdade() < 18) {
- throw new BusinessException("A pessoa precisa ser maior de idade para poder ser processada");
- }
- if (pessoa.getNotificacao() == null) {
- throw new BusinessException("A pessoa precisa ter sido notificada antes de ser processada.");
- }
- ...
- }
- public void processaPessoa(Pessoa pessoa) {
- if (pessoa == null) {
- throw new InvalidArgumentExcetion("O parâmetro 'pessoa' não pode ser null.");
- }
- ...
- }
- // usuário entrou com o CPF da pessoa que ele quer processar
- Pessoa pessoa = pessoas.find(cpf);
- if (pessoa == null) {
- throw EntityNotFoundException("Não foi localizada nenhuma pessoa com o CPF " + cpf);
- }
- processaPessoa(pessoa);
- public void processaPessoa(Pessoa pessoa) {
- if (pessoa != null) {
- // código para processar a pessoa.
- } // fim do método
- }
- Cliente cliente = new Cliente();
- System.out.println(cliente.getCodigo);
- Usuario usuarioVariavel = new Usuario("João");
- usuarioVariavel = new Usuario("Felipe");
- Usuario usuario = null;
- int idade = usuario.getIdade(); //Gera NullPointerException
- if(usuario!=null){
- int idade = usuario.getIdade();
- //...
- }
- try{
- int idade = usuario.getIdade();
- }catch(NullPointerException npe){
- //Usuário não possui instância
- }
- public class Usuario{
- private static int quantidadeUsuarios = 0;
- public static int getQuantidadeUsuarios(){
- return quantidadeUsuarios;
- }
- }
- int quantidade = Usuario.getQuantidadeUsuarios();
- //Não gera NullPointerException, porque o método não pertence à uma instância específica
Add Comment
Please, Sign In to add comment