pessoal, eu gostaria que vocês me tirassem uma dúvida a respeito desse codigo
public class RepositorioContas implements Serializable {
private static RepositorioContas instance;
private ArrayList<Conta> contas;
private RepositorioContas() {
this.contas = contas;
}
private static RepositorioContas getInstance(){
if(instance == null){
instance = lerDoArquivo();
}
return instance;
}
private static RepositorioContas lerDoArquivo() {
RepositorioContas instancia = null;
File in = new File("contas.txt");
FileInputStream fis = null;
ObjectInputStream ois = null;
try {
fis = new FileInputStream(in);
ois = new ObjectInputStream(fis);
Object o = ois.readObject();
instancia = (RepositorioContas) o;
} catch (Exception e) {
instancia = new RepositorioContas();
}
return instancia;
}
public void salvarArquivo() {
if (instance == null) {
return;
}
File out = new File(“contas.txt”);
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream(out);
oos = new ObjectOutputStream(fos);
oos.writeObject(instance);
} catch (Exception e) {
e.printStackTrace();
}
}
}
eu tenho uma dúvida a respeito do metodo getInstance(), se instance == null como vou ler algo que é null? sinceramente não consegui entender a logica dessa parte em específico