保持对象类型以便以后转换的值类?

时间:2018-05-16 09:43:00

标签: java reflection types casting

我正在开发一个使用本体启动算法的项目。换句话说,从语义数据库中检索算法的参数/返回值,以便可以使用SPARQL查询启动它们。

假设我想在执行后得到这种算法的结果,它具有特定的类型,但我必须以非常通用的方式存储它。我会做Object result = myAlgorithm(param1, param2, ...);。这不允许我存储结果的类型以供稍后的转换。我正在考虑一个解决方案,但我不确定它在Java中是否合法:

public class Value {
   Object o;
   Class<?> type;

   public Value(Object o, Class<?> type) {
       this.o = o;
       this.type = type;
   }

   Class<?> getType() { return type; }

   Object getO() { return o; } 
}

算法的返回类型也存储在数据库中。我知道这听起来有点令人费解,但我希望你明白我想做什么。

1 个答案:

答案 0 :(得分:0)

每个对象都已将其保存为&PROBIN方法,因此您不需要result.getClass()字段。在您的处理代码中,您可以

Class<?> type