[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: map



On Tue, 23 Apr 2002, maura.lapa wrote:

> Posso criar um Map com os argumentos:
> (String nome, boolean valor), ou seja, cada
> nome leva a false ou true?

Não diretamente, porque no Map só vão objetos e o boolean não é
objeto (é tipo primitivo). Você tem que colocar um Boolean (com B
maiúsculo) que é um objeto que contém um boolean. Ou seja, em vez
de dizer algo como
	
   String nome;
   boolean valor;

   meuMap.put(nome, valor);

diga

   meuMap.put(nome, new Boolean(valor));

Quando você for pegar o valor do Map, não obterá um boolean e sim
um objeto Boolean. Para obter o boolean contido no Boolean boolObj 
diga

   boolean valor = boolObj.booleanValue();

Assim como existe Boolean, há Integer, Long, Short, Float, Double, Byte
e Character. Todas essas são "wrapper classes" que servem para resolver
o problema de colocar tipos primitivos em Collections ou em Maps.
Precisa por um int numa coleção ou num map? Não dá, mas aí você põe o 
Integer correspondente. E assim por diante. A documentação de todas as 
wrapper classes está em

http://www.linux.ime.usp.br/java/docs/jdk1.3/api/java/lang/package-summary.html

> Para criar uma classe com funções
> auxiliares, posso criar a classe, colocando
> na 1ª linha "package
> br.usp.ime.mac212.util", ou seja, além
> da "console", estaria criando outra classe
> util?

Exatamente. Sua classe com funções auxiliares ficaria no mesmo pacote
que a classe Console. É uma boa idéia fazer isso se as funções auxiliares
forem úteis para outros programas (se não elas forem específicas para o
programa "aventura"). Assim você poderia reusar o pacote util em outros
programas, fornecê-lo para outras pessoas, etc...

Reverbel