daily pastebin goal
45%
SHARE
TWEET

Untitled

a guest Jan 17th, 2019 84 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Pessoa p = null;
  2. String nome = p.nome; // <-- NullPointerException aqui.
  3.    
  4. Pessoa p = null;
  5. String nome = p.getNome(); // <-- NullPointerException aqui.
  6.    
  7. Integer x = null;
  8. int z = x; // <-- NullPointerException aqui.
  9.    
  10. Integer x = null;
  11. int z = x + 5; // <-- NullPointerException aqui.
  12.    
  13. throw new NullPointerException();
  14.    
  15. Exception x = null;
  16. throw x; // <-- NullPointerException aqui.
  17.    
  18. String[] x = null;
  19. int tamanho = x.length; // <-- NullPointerException aqui.
  20.    
  21. String[] x = null;
  22. String y = x[5]; // <-- NullPointerException aqui.
  23.    
  24. String[] x = null;
  25. for (String y : x) { // <-- NullPointerException aqui.
  26.     // ...
  27. }
  28.    
  29. Object x = null;
  30. synchronized (x) { // <-- NullPointerException aqui.
  31.     // ...
  32. }
  33.    
  34. Pessoa p = null;
  35. Supplier<String> f = p::toString; // <-- NullPointerException aqui.
  36.    
  37. String x = null;
  38.    
  39. int x = null; // Erro de compilação!
  40.    
  41. System.out.println(null); // Ok.
  42. String mensagem = JOptionPane.showInputDialog(null); // Ok.
  43. JPanel panel = new JPanel(null); // Ok.
  44.    
  45. public String getXpto() {
  46.     return null;
  47. }
  48.  
  49. public void algumMetodo() {
  50.     String xpto = getXpto(); // Ok. Recebe null.
  51. }
  52.    
  53. String[] array = new String[] {"a", "b", "c"};
  54. array[1] = null;
  55. String valor = array[1]; // Ok. Recebe null.
  56.    
  57. private void metodo(String... parametros) {
  58.     System.out.println(parametros);
  59. }
  60.  
  61. private void outroMetodo() {
  62.     // Não dá NullPointerException.
  63.     // Passa como parâmetro um array com um único elemento que é null.
  64.     metodo(null);
  65.  
  66.     // Não dá NullPointerException.
  67.     // Passa como parâmetro um array com dois elementos null.
  68.     metodo(null, null);
  69.  
  70.     // Não dá NullPointerException.
  71.     // Passa como parâmetro null.
  72.     metodo((String[]) null);
  73. }
  74.    
  75. String[] x = new String[] {"a", "b", null, "c"};
  76. for (String z : x) {
  77.     System.out.println(z);
  78. }
  79.    
  80. String[] x = new String[] {"a", "b", null, "c"};
  81. for (String z : x) {
  82.     System.out.println(z.length()); // <-- NullPointerException aqui.
  83. }
  84.    
  85. Integer t = null;
  86. t.parseInt("123"); // Pegadinha: t é null, mas isso NÃO DÁ NullPointerException!
  87. System s = null;
  88. Object x = s.out; // Não dá NullPointerException!
  89.    
  90. Pessoa p;
  91. p.setNome("Maria"); // Erro de compilação, a variável p não foi inicializada.
  92.  
  93. Pessoa q;
  94. if (x > y) q = new Pessoa(); // Pode inicializar ou não, dependendo da condição do if.
  95.  
  96. // Erro de compilação, a variável q possivelmente não foi inicializada.
  97. q.setNome("Maria");
  98.    
  99. Pessoa p = new Pessoa();
  100.    
  101. Animal p = ...;
  102. if (p instanceof Cachorro) {
  103.     // Se entrar aqui, além de sabermos que p é instância de Cachorro,
  104.     // também sabemos que p não é null.
  105. }
  106.    
  107. Animal a = null;
  108.  
  109. // Recebe null. Não lança NullPointerException e nem ClassCastException.
  110. Cachorro c = (Cachorro) a;
  111.    
  112. String x = "a" + null + "b"; // Recebe "anullb". Não dá NullPointerException.
  113.    
  114. if (x == null) {
  115.     // Faz alguma coisa. Não utiliza o x aqui.
  116. } else {
  117.     // Pode utilizar o x seguramente.
  118. }
  119.    
  120. public void cadastrarNome(String nome) {
  121.     if (nome == null) throw new NullPointerException("Não pode cadastrar um nome nulo.");
  122.     // ... Resto do método.
  123. }
  124.    
  125. public void cadastrarNome(String nome) {
  126.     if (nome == null) {
  127.         throw new IllegalArgumentException("Não pode cadastrar um nome nulo.");
  128.     }
  129.     // ... Resto do método.
  130. }
  131.    
  132. public double somarParcelas() {
  133.     if (parcela1 == null || parcela2 == null) {
  134.         throw new IllegalStateException("Nem todas as parcelas foram adquiridas");
  135.     }
  136.     // ... Resto do método.
  137. }
  138.    
  139. public void cadastrarNome(String nome) {
  140.     Objects.requireNonNull(nome, "Não pode cadastrar um nome nulo.");
  141.     // ... Resto do método.
  142. }
  143.  
  144. public double somarParcelas() {
  145.     Objects.requireNonNull(parcela1, "A primeira parcela ainda não foi adquirida.");
  146.     Objects.requireNonNull(parcela2, "A segunda parcela ainda não foi adquirida.");
  147.     // ... Resto do método.
  148. }
  149.    
  150. String x = ...;
  151. Optional<String> opt = Optional.ofNullable(x);
  152. // Neste ponto, opt nunca será nulo, e portanto pode ser
  153. // sempre utilizado seguramente (embora o conteúdo dele possa ser nulo).
  154.    
  155. public class MeuBean {
  156.     private String nome;
  157.     private List<Pessoa> pessoas;
  158.  
  159.     // Outros métodos...
  160.  
  161.     public String getNome() {
  162.         return nome == null ? "" : nome;
  163.     }
  164.  
  165.     public List<Pessoa> getPessoas() {
  166.         return pessoas == null ? Collections.emptyList() : pessoas;
  167.     }
  168. }
  169.    
  170. public void cadastrarNome(String nome) {
  171.     String nomeParaCadastrar = nome == null ? "Sem nome" : nome;
  172.     // ... Resto do método.
  173. }
  174.    
  175. public class Pessoa {
  176.     private String nome;
  177.     private int idade;
  178.  
  179.     // ... Métodos.
  180.  
  181.     // Método que retorna um Null Object.
  182.     public static Pessoa ninguem() {
  183.         Pessoa naoTem = new Pessoa();
  184.         naoTem.nome = "Ninguém";
  185.         naoTem.idade = 0;
  186.         return naoTem;
  187.     }
  188. }
  189.  
  190. public class Carro {
  191.     private String modelo;
  192.     private String cor;
  193.     private int ano;
  194.     private Pessoa proprietario;
  195.  
  196.     // ... Métodos.
  197.  
  198.     // Método que retorna um Null Object.
  199.     public static Carro vazio() {
  200.         Carro carroVazio = new Carro();
  201.         carroVazio.modelo = "nenhum";
  202.         carroVazio.cor = "nenhuma";
  203.         carroVazio.ano = 0;
  204.         carroVazio.proprietario = Pessoa.ninguem();
  205.         return carroVazio;
  206.     }
  207. }
  208.    
  209. public interface Animal {
  210.     public String fazerBarulho();
  211. }
  212.  
  213. public class Cachorro implements Animal {
  214.     @Override
  215.     public String fazerBarulho() {
  216.         return "Au au";
  217.     }
  218. }
  219.  
  220. public class Gato implements Animal {
  221.     @Override
  222.     public String fazerBarulho() {
  223.         return "Miau";
  224.     }
  225. }
  226.  
  227. public class AnimalNenhum implements Animal {
  228.     @Override
  229.     public String fazerBarulho() {
  230.         return "";
  231.     }
  232. }
  233.    
  234. public class Endereco{
  235.     public String rua;
  236.     public String localidade;
  237.  
  238.     public Endereco(String rua, String localidade){
  239.         this.rua = rua;
  240.         this.localidade = localidade;
  241.     }
  242.     public String getMoradaCompleta(){
  243.         return rua + "," + localidade;
  244.     }
  245. }
  246.    
  247. public printMoradaCompleta(Endereco endereco){
  248.     String morada = endereco.getMoradaCompleta();
  249.     System.out.println(morada);
  250. }
  251.    
  252. public printRua(Endereco endereco){
  253.     String rua = endereco.rua;  
  254.     System.out.println(rua);
  255. }
  256.    
  257. public int getSecondElementFromArray(int[] array){
  258.  
  259.     return array[1];
  260. }
  261.    
  262. public printMoradaCompleta(Endereco endereco){
  263.     if(endereco == null){
  264.         throw new IllegalArgumentException("O endereço não pode ser nulo");
  265.     }
  266.     String morada = endereco.getMoradaCompleta();
  267.     System.out.println(morada);
  268. }
  269.    
  270. ArrayList<String> texto = null; //definido como null
  271. texto.add("texto");
  272.    
  273. Pessoa p;
  274. System.out.Println(p.getNome());
  275.    
  276. ArrayList<String> texto = null;
  277. int i = texto.length;
  278.    
  279. Pessoa p = new Pessoa("maria");
  280. Pessoa pessoas[] = null;
  281. pessoas[0] = p;
  282.    
  283. Pessoa pessoa = new Pessoa();
  284.    
  285. Pessoa pessoa = null;
  286.    
  287. public void processaPessoa(Pessoa pessoa) {
  288.     int idade = pessoa.getIdade(); //se pessoa é null, aqui será lançada uma NullPointerException.
  289.     ...
  290. }
  291.    
  292. public void processaPessoa(Pessoa pessoa) {
  293.     // ... não importa o código que tem aqui.
  294. }
  295.    
  296. public void processaPessoa(Pessoa pessoa) {
  297.     if (pessoa.getIdade() < 18) {
  298.       throw new BusinessException("A pessoa precisa ser maior de idade para poder ser processada");
  299.     }
  300.     if (pessoa.getNotificacao() == null) {
  301.       throw new BusinessException("A pessoa precisa ter sido notificada antes de ser processada.");
  302.     }
  303.     ...
  304. }
  305.    
  306. public void processaPessoa(Pessoa pessoa) {
  307.     if (pessoa == null) {
  308.         throw new InvalidArgumentExcetion("O parâmetro 'pessoa' não pode ser null.");
  309.     }
  310.     ...
  311. }
  312.    
  313. // usuário entrou com o CPF da pessoa que ele quer processar
  314.  
  315. Pessoa pessoa = pessoas.find(cpf);
  316. if (pessoa == null) {
  317.     throw EntityNotFoundException("Não foi localizada nenhuma pessoa com o CPF " + cpf);
  318. }
  319. processaPessoa(pessoa);
  320.    
  321. public void processaPessoa(Pessoa pessoa) {
  322.     if (pessoa != null) {
  323.         // código para processar a pessoa.
  324.     } // fim do método
  325. }
  326.    
  327. Cliente cliente = new Cliente();
  328.    
  329. System.out.println(cliente.getCodigo);
  330.    
  331. Usuario usuarioVariavel = new Usuario("João");
  332. usuarioVariavel = new Usuario("Felipe");
  333.    
  334. Usuario usuario = null;
  335. int idade = usuario.getIdade(); //Gera NullPointerException
  336.    
  337. if(usuario!=null){
  338.      int idade = usuario.getIdade();
  339.      //...
  340. }
  341.    
  342. try{
  343.     int idade = usuario.getIdade();
  344. }catch(NullPointerException npe){
  345.     //Usuário não possui instância
  346. }
  347.    
  348. public class Usuario{
  349.    private static int quantidadeUsuarios = 0;
  350.    public static int getQuantidadeUsuarios(){
  351.         return quantidadeUsuarios;
  352.    }
  353. }
  354.    
  355. int quantidade = Usuario.getQuantidadeUsuarios();  
  356. //Não gera NullPointerException, porque o método não pertence à uma instância específica
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top