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();
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!