问题标签 [reification]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8548 浏览

java - 转换为在运行时确定的类

我有一个方法fetchObjects(String)可以返回一个Contract业务对象数组。className参数告诉我应该返回什么样的业务对象(当然这在这种解释的情况下没有意义,因为我已经说过我会返回s Contract,但这基本上是我在真实场景中的情况)。因此,我从某处获取条目集并加载集合条目的类(其类型由 指定className)。

现在我需要构造要返回的数组,所以我使用Set'stoArray(T[])方法。使用反射,我为自己构建了一个空的 Contracts 数组。但是,这给了我一个静态类型的值Object!所以接下来我需要将它转换为适当的类型,在这种情况下是Contract[](参见下面清单中的“星号下划线”部分)。

我的问题是:有没有办法以及如何Contract[]像我在清单中那样转换,但只能通过(或)确定数组元素()的类型ContractclassNameentriesType?换句话说,我想做的基本上是这样的:(entriesType[]) valueWithStaticTypeObject,其中 entriesType 被通过classname参数指定的类替换,即Contract

这在某种程度上是不可能的,还是可以以某种方式完成?也许使用泛型?

谢谢。


更新:toArray使用来自CodeIdol的类型安全方法,我更新了我的fetchObjects方法:

我需要做什么才能摆脱评论中引用的编译器错误?我是否必须Set<Contract>在我的方法的返回类型中指定getEntrySet才能使它起作用?感谢您的任何指示。

0 投票
6 回答
2735 浏览

database - 版本化的 RDF 存储

让我试着改写一下:

我正在寻找具有以下功能的强大 RDF 存储或库:

  • 命名图,或某种其他形式的具体化。
  • 版本跟踪(可能在命名图级别)。
  • 用户组之间的隐私,无论是命名图还是三重级别。
  • 人类可读的数据输入和输出,例如TriG解析器和序列化器。

前段时间我和JenaSesameBocaRDFLibRedland和其他一两个人一起玩过,但每个人都有自己的问题。最近在上述方面有什么改善吗?其他任何事情都可以做我想做的事,还是 RDF 还没有准备好迎接黄金时段?


更多地阅读这个主题,我发现:

0 投票
5 回答
36787 浏览

java - 什么是具体泛型?它们如何解决类型擦除问题,为什么不进行重大更改就不能添加它们?

我已经阅读了Neal Gafter关于这个主题的博客,但在很多方面仍然不清楚。

鉴于 Java、JVM 和现有集合 API 的当前状态,为什么不能创建保留类型信息的集合 API 实现?这些难道不能以保留向后兼容性的方式替换 Java 未来版本中的现有实现吗?

举个例子:

REIList 是这样的:

这些方法使用 Object o 和 Class 类来获取类型信息。

为什么保留通用类信息需要更改语言而不仅仅是 JVM 实现更改?

我不明白什么?

0 投票
4 回答
13274 浏览

rdf - RDF 中具体化的简单示例

谁能给我一个在 RDF 中具体化的简单例子?我想看看我是否理解正确。

例如,我提出以下案例

无论有没有具体化,你将如何编写它(即作为一个不需要具体化的简单 RDF 语句)?

0 投票
13 回答
11872 浏览

java - 我为什么要关心 Java 没有具体化的泛型?

这是我最近在一次采访中提出的一个问题,作为候选人希望看到添加到 Java 语言中的东西。Java 没有具体化泛型通常被认为是一种痛苦,但是当被推动时,候选人实际上无法告诉我如果他们在那里他可以实现什么样的事情。

显然,因为 Java 中允许使用原始类型(以及不安全检查),所以有可能颠覆泛型并最终得到一个List<Integer>(例如)实际上包含Strings 的类型。如果类型信息被具体化,这显然是不可能的;但肯定不止这些

人们是否可以发布他们真正想做的事情的示例,是否可以使用具体化的泛型?我的意思是,显然你可以List在运行时获得 a 的类型——但你会用它做什么呢?

编辑:对此的快速更新,因为答案似乎主要关注需要传入 aClass作为参数(例如EnumSet.noneOf(TimeUnit.class))。我一直在寻找更多不可能的东西。例如:

0 投票
3 回答
2428 浏览

java - 关于 Java 中的具体化泛型有什么说法吗?

我知道这个问题可能会引发比具体答案更多的讨论(我知道这不是可取的)。但是随着 Oracle 最近的收购,我想知道是否有任何消息说 Java 可能(有朝一日)会得到具体化的泛型?我听说甲骨文想给 Java 一点动力,我想不出更好的办法。

0 投票
4 回答
2111 浏览

c# - C# 泛型如何影响具有基元的集合

据我了解,C#/.Net 泛型支持某种程度的具体化。所以,如果我有以下代码:

值 1 会被自动装箱还是“列表”对象会有效地处理原始整数?

0 投票
3 回答
3921 浏览

generics - Scala:泛型类型的方法重载

在 C# 中,我可以重载泛型类型的方法,如下例所示:

但是,如果我尝试在 Scala 中做同样的事情,它会引发一个编译时错误,List[Int]并且List[Double]由于擦除而擦除到相同的类型。我听说 Scala 的Manifests 可以用来解决这个问题,但我不知道如何。我在文档中也没有发现任何有用的东西。

所以我的问题是:我如何使用Manifests (或其他任何有效的方法)来重载由于擦除而擦除为相同类型的泛型类型的方法?

0 投票
2 回答
238 浏览

rdf - 隐式具体化的简单格式

是否有任何 RDF 序列化格式(如Notation 3)支持隐式具体化以便轻松表示关于语句的语句?

例如,假设我有声明“玛丽买了房子”,我将在 N3 中表示如下:

现在假设我想添加有关此语句的元语句,例如“我从 Rob 那里听说的”。

直观地说,我希望能够通过编写如下内容来表示这一点:

但是,我认为这将在 N3 中“正式”表示的方式类似于:

这显然更复杂,更难阅读。如果我需要对关于陈述的陈述进行陈述,情况就会变得更加复杂。例如“我从 Rob 那里听到这个消息,而 Rob 正走在街上”。

以 RDF 序列化格式表示它的正确和最简单的方法是什么?

0 投票
6 回答
11882 浏览

haskell - 在(功能?)编程的上下文中,“reify”和“reification”是什么意思?

我在有关 haskell 和函数式编程的博客(特别是sigfpe 的博客)中阅读了很多这个术语,但我不知道它的含义。大多数时候我都不知道它,但如果我知道的话,我可能会更好地理解这些文本。谷歌没有帮助我。我迷失在技术方面。

此外,世界的非技术意义(“将抽象具体化”)并不能帮助我理解在代码中具体化某些东西实际上意味着什么。

我对计算机科学概念有点慢,所以带有代码的实际示例会很好。:P