[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
RE: Field
Andrea Thome Suman writes:
> Para acessar um campo de um Object podemos usar algo do tipo:
>
> object.field;
>
> object sendo do tipo Object e field do tipo String?
Não. Vejam o método getField da classe Class. Vejam também a classe
java.lang.reflect.Field.
Voces vão precisar de algo assim:
DBObject obj; // um objeto
Class objClass; // a classe desse objeto
String fieldName; // o nome de um campo
int intVal; // valor do campo (se int)
double doubleVal; // valor do campo (se double)
...
String stringVal; // valor do campo (se String)
...
Field field = objClass.getField(fieldName);
Class fieldType = field.getType();
if (fieldType.equals(Integer.TYPE)) {
intVal = field.getInt(obj);
}
else if (fieldType.equals(Double.TYPE)) {
doubleVal = field.getDouble(obj);
}
else if (...) {
... // outros tipos primitivos
}
else if (fieldType.equals(String.Class)) {
Object val = field.get(obj);
stringVal = (String) val;
}
else {
// erro: considere que o tipo de um campo de um DBObject
// deve ser primitivo ou String
}
Reverbel
- References:
- Field
- From: Andrea Thome Suman <dea@linux.ime.usp.br>