Quando postar códigos, por favor, use essas dicas:
Não existe conversão de String para um objeto de outra classe qualquer. Verifique se no objeto que o método pede tem algum construtor que aceita a String, ou se existe alguma classe DAO que carregue o objeto em questão baseado na String.
Obrigado pela dica @ViniGodoy. Já coloquei a formatação correta.
Os códigos:
[code]String i = arm.next();
//arm = referencia a um Scanner(System.in)
s.localizaArma(i);
//este método tem como argumento um objeto
[/code]
[code] public void localizaArma(armas x){
System.out.println(locationOfGuns.get(x.nome));
}
}
[/code]
A idéia geral é a seguinte: O usuário digita um valor, no primeiro código. A classe utiliza o HashMaps para realizar a busca. Como devo colocar o nome do que ele deve procurar? Pensei que, colocava uma String, e ele buscaria o nome da classe por esse String.
Map<String, Arma> armas = new HashMap<String, Arma>();
Que associa a arma ao seu nome. Por exemplo:
armas.put("Pistola", magnum45);
Então, se o usuário digitar um nome, basta fazer a busca no map pelo nome:
Scanner in = new Scanner(System.in);
System.out.println("Entre com o nome da arma:");
String nome = in.nextLine();
Arma arma = armas.get(nome);
System.out.println("A " + arma.getNome() + " tem calibre " + arma.getCalibre() + ".");