首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >值类来保留对象类型以便以后进行强制转换?

值类来保留对象类型以便以后进行强制转换?
EN

Stack Overflow用户
提问于 2018-05-16 17:43:00
回答 1查看 35关注 0票数 0

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

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

代码语言:javascript
复制
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; } 
}

算法的返回类型也存储在数据库中。我知道这听起来有点复杂,但我希望您能理解我想要做的事情。

EN

Stack Overflow用户

发布于 2018-05-16 17:58:07

每个对象都已经在result.getClass()方法中保持了它的类型,因此你不需要Class<?> type字段。在处理代码中,您可以执行以下操作

代码语言:javascript
复制
if (result instanceOf <SomeSubtype>) {
     <SomeSubtype> resultCasted = (<SomeSubtype>) result;
}
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50367434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档