Esse código, sugerido na apostila, não funciona ou eu que não consegui entender a proposta do exercício?
// cria o mapa
Map mapaDeContas = new HashMap();
Esse código, sugerido na apostila, não funciona ou eu que não consegui entender a proposta do exercício?
// cria o mapa
Map mapaDeContas = new HashMap();
A proposta é que você chege no modo que usa generics usando as ferramentas de sugestão que o Eclipse oferece.
Usando o Map como você colocou, você tem que ficar dando cast pois está trabalhando com Object, exemplo:
Conta contaDoDiretor = (Conta) mapaDeContas.get("diretor");
Você tem que colocar o (Conta) antes(fazer o cast) para dizer que o que tem no valor daquele Map é uma Conta e poder usar a varivável com comportamentos de um objeto Conta. Caso contrário seria um Object sem seus atributos e métodos de Conta.
Ao fazer uso do generics você pode criar um mapa já com os objetos específicos que você quer, sem precisar ter que fazer cast depois, ficando assim:
// cria o mapa
Map<String, Conta> mapaDeContas = new HashMap<String, Conta>();
Aqui você está, explicitamente, dizendo que a chave do Map vai ser String e o valor Conta.
Muito obrigado!