To com uma duvida aqui sobre como passar varios parametros diferentes, na verdade passar não é muito o problema, mas sim pra recuperar os dados. Como assim? Por exemplo, se voce tem la varios campos de texto, coloca num HashMap, e busca todos, tranquilo.
metodo(HashMap dados){
String x = dados.get("x").toString();
}
pra texto é facil. E para número é assim mesmo?
metodo(HashMap dados){
int x = Integer.parseInt(dados.get("x").toString());
}
funciona mas me parece meio que uma gambiarra, ta certo mesmo?
Mas a duvida mairo seria pra passar outro tipos de dados, como classes, etc. Não tem como passar em uma variavel somente, sem ter que colocar no metodo todos os parametros? Por exemplo eu até passo a classe X por HashMap para um metodo, mas dai como recuperar a classe X do HashMap?
Vo criar aqui uma classe de exemplo so pra ficar mais facil de explicar e alguem por um exemplo em cima.
Classe X
public class X {
private String campo1;
private String campo2;
private String campo3;
public String getCampo1() {
return campo1;
}
public String getCampo2() {
return campo2;
}
public String getCampo3() {
return campo3;
}
}
Como recuperar?
//Em algum codigo de outra classe eu passo
X classeX1 = new X();
X classeX2 = new X();
X classeX3 = new X();
X classeX4 = new X();
HashMap x = new HashMap(0,1);
x.put("x1", classeX1);
x.put("x2", classeX2);
x.put("x3", classeX3);
x.put("x4", classeX4);
//Metodo de outra classe
metodoX(HashMap dados){
for(int cont=1;cont<=dados.size();cont++){
//Obtem Classe X
dados.get("x"+cont);
}
}
no caso [color=blue]dados.get("x"+cont)[/color] retorna um object, dai como eu faço pra chegar nos valores dos atributos da calsse?
Existe um outro método ou classe que faça isso alem do HashMap?