Guest User

Untitled

a guest
Jan 17th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.66 KB | None | 0 0
  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
Add Comment
Please, Sign In to add comment