Pessoal estou com um problema com o getDeclaredMethods();, quando o chamo ele traz os métodos, na ordem certa, na ordem que eles foram criados, exemplo:
public class Bairro {
private int iBairro;
private String nome;
public int getiBairro() {
return iBairro;
}
public void setiBairro(int iBairro) {
this.iBairro = iBairro;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public String toString() {
return "Bairro [iBairro=" + iBairro + ", nome=" + nome + "]";
}
}
Bairro.getDeclaredMethods();
Retorna getiBairro(), setiBairro, getNome(), setNome, toString(), na ordem que eles foram declarados corretamente.
Agora se eu crio uma nova Rua:
public class Rua {
private int iRua;
private String nome;
private String tipo;
public int getiRua() {
return iRua;
}
public void setiRua(int iRua) {
this.iRua = iRua;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
@Override
public String toString() {
return "Logradouro [iRua=" + iRua + ", nome=" + nome + ", tipo=" + tipo
+ "]";
}
}
Rua.getDeclaredMethods()
Retorna getiRua(), setiRua(), getNome(), setNome(), getTipo(), setTipo(), toString(), Correto não é?
Agora o problemas é se eu chamo na mesma classe Bairro.getDeclaredMethods(); e Rua.getDeclaredMethods();
Ele vai me retornar na ordem o primeiro método:
Retorna getiBairro(), setiBairro, getNome(), setNome, toString();
Agora o segundo ele retorna:
Retorna: getNome(), setNome(), getiRua(), setiRua(), getTipo(), setTipo(), toString();
Fora da ordem que os métodos foram criados.
Isso quebra toda a lógica que estou usando em meu código. Alguém sabe me dizer por que isso acontece? Tem alguma maneira de ordenar esses métodos?
Att.