Skip to content

Instantly share code, notes, and snippets.

@jeffersontpadua
jeffersontpadua / Pessoa.java
Created March 12, 2017 10:01
POJO exemplificando o princípio da Imutabilidade.
import java.time.LocalDate;
public class Pessoa {
private final String nome;
private final String cpf;
private final String rg;
private final LocalDate dataNascimento;
public Pessoa(String nome, String cpf, String rg, LocalDate dataNascimento) {
this.nome = nome;
@jeffersontpadua
jeffersontpadua / PessoaBuilder.java
Created March 14, 2017 01:44
Padrão Builder para a criação de objetos em Java
import java.time.LocalDate;
public class Pessoa {
private final String nome;
private final String cpf;
private final String rg;
private final LocalDate dataNascimento;
private Pessoa(Builder builder) {
this.nome = builder.nome;
@jeffersontpadua
jeffersontpadua / ExecutarPadraoBuilder.java
Last active March 14, 2017 02:08
Main para execução do padrão Builder
public class ExecutarPadraoBuilder {
public static void main(String[] args) {
Pessoa.Builder builder = new Pessoa.Builder();
builder.setNome("Jefferson Tavares de Pádua")
.setCpf("111.111.111-11");
Pessoa pessoa = builder.build();
System.out.println(pessoa.getNome()); //O nome Jefferson Tavares de Pádua será mostrado na tela
@jeffersontpadua
jeffersontpadua / ContratoBuilder.java
Last active March 16, 2017 10:05
Interface para o padrão Builder
public interface ContratoBuilder<T> {
ContratoBuilder from(T object);
T build();
}
@jeffersontpadua
jeffersontpadua / Pessoa.java
Created March 18, 2017 00:33
Exemplo de como definir métodos em Java
import java.util.Arrays;
import java.util.List;
public class Pessoa {
public List<Pensamento> pensar(boolean tempoLivre) {
if(tempoLivre) {
return Arrays.asList(new Pensamento("Livros"), new Pensamento("Estudos"));
}else {
return Arrays.asList(new Pensamento("Programação"), new Pensamento("Java"));
}
@jeffersontpadua
jeffersontpadua / Pessoa.java
Last active March 21, 2017 01:09
Method overloading
import java.util.Arrays;
import java.util.List;
public class Pessoa {
public List<Pensamento> pensar(boolean tempoLivre) {
if(tempoLivre) {
return Arrays.asList(new Pensamento("Livros"), new Pensamento("Estudos"));
}else {
return Arrays.asList(new Pensamento("Programação"), new Pensamento("Java"));
}
@jeffersontpadua
jeffersontpadua / BungeeJumping.java
Last active March 23, 2017 00:04
Como utilizar exceptions em java
public class BungeeJumping {
public void executarSaltosDoDia(List<Pessoa> pessoas) {
for(Pessoa pessoa : pessoas) {
if (podeSaltar(pessoa)) {
System.out.println(pessoa.getGritoDeEmocao());
}
}
}
private boolean podeSaltar(Pessoa pessoa) {
@jeffersontpadua
jeffersontpadua / BungeeJumping.java
Last active March 24, 2017 22:26
Tratamento de erros em java
public class BungeeJumping {
public void executarSaltosDoDia(List<Pessoa> pessoas) {
for(Pessoa pessoa : pessoas) {
try {
if (podeSaltar(pessoa)) {
System.out.println(pessoa.getGritoDeEmocao());
}
} catch (IllegalArgumentException e) {
System.out.println(pessoa.getNome() + " não pode saltar por ter mais de 60 anos.");
}
@jeffersontpadua
jeffersontpadua / HelloWorld.java
Last active July 1, 2017 13:09
Porque Kotlin deve ser a linguagem de programação escolhida por iniciantes em desenvolvimento Android
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}