Estou com um problema básico, de iniciante, mas que me tomou algumas horas ontem. Não consigo entender o que acontece numa condicional simples.
Tenho o arquivo comandos.properties
comando1=Augusto
comando2=Rosana
comando3=Carlos
E tenho o arquivo QueryManager.java
[code]import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Properties;
public class QueryManager {
Properties pro;
String chave;
public QueryManager(String arquivo) {
pro = new Properties();
try {
pro.load(new FileInputStream(arquivo));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public String getValor(String valor) {
String query = pro.getProperty(valor);
return query;
}
public String getChave(String chave) {
String comando = null;
//System.out.println(pro.keySet());
Enumeration em = pro.keys();
while(em.hasMoreElements()){
String str = (String)em.nextElement();
System.out.println("KEY DO ARQUIVO: " + str);
String valor = (pro.get(str)).toString();
System.out.println("VALOR DA KEY: " + valor);
System.out.println("VALOR DA CHAVE: " + chave);
if (chave == valor){
System.out.println(valor + "-" + chave);
}
System.out.println("-------------------------");
}
return comando;
}
public static void main (String args[]){
QueryManager manager = new QueryManager("comandos.properties");
//System.out.println(manager.getValor("comando2"));
System.out.println(manager.getChave("Carlos"));
}
}[/code]
O método getValor me retorna o valor da chave, ex: getValor(“comando2”) me retorna Rosana.
O problema está no método getChave, que deveria fazer o caminho inverso: Fornecer o Valor e ele me retornar a chave.
Coloquei uma condicional simples que não funciona de jeito nenhum:
if (chave == valor){
System.out.println(valor + "-" + chave);
}
O que pode estar acontecendo nesse ponto?