Erro na utilização de Map

1 resposta
thiagolgf

Srs., boa tarde!

Criei o código abaixo e não conseguindo entender o motivo de ocorrer "NullPointerException".

public class Conta {
	private String nomeTitular;
	
	public String getNomeTitular(){
		return this.nomeTitular;
	}
	
	public void setNomeTitular(String nome){
		this.nomeTitular = nome;
	}

}
public class ContaCorrente extends Conta{

}
public class ContaPoupanca extends Conta{

}
import java.util.Map;


public class Banco{
	private Map<String, Conta> listaDeContas;
	
	public void adicionaConta(Conta c){
		this.listaDeContas.put(c.getNomeTitular(), c);
	}
	
	public Conta buscaPorNome(String nome){
		return this.listaDeContas.get(nome);
	}
	
	public int pegaTotalDeContas(){
		return this.listaDeContas.size();
	}
}
public class TestaBanco {
	public static void main(String[] args){
		Conta c1 = new ContaCorrente();
		
		c1.setNomeTitular("Joao");

		Banco bank = new Banco();

		bank.adicionaConta(c1);
	}
}

Att,

Thiago Freitas

1 Resposta

thiagolgf

RESOLVIDO

Boa tarde!

Eu mesmo consegui encontrar o motivo do problema pela perspectiva "Debug".

O atributo "private Map listaDeContas = new HashMap<>();" precisava ser instanciado para conseguir chamar o método ".put".

import java.util.HashMap;
import java.util.Map;


public class Banco{
	private Map<String, Conta> listaDeContas = new HashMap<>();
	
	public void adicionaConta(Conta c){
		this.listaDeContas.put(c.getNomeTitular(), c);
	}
	
	public Conta buscaPorNome(String nome){
		return this.listaDeContas.get(nome);
	}
	
	public int pegaTotalDeContas(){
		return this.listaDeContas.size();
	}
}

Att,

Thiago Freitas

Criado 18 de março de 2013
Ultima resposta 18 de mar. de 2013
Respostas 1
Participantes 1