384得票1回答
什么是TypeTag,我该如何使用它?

关于TypeTags我所知道的是它们在某种程度上取代了Manifests。然而,互联网上关于这个主题的信息很少,并不能让我深刻地理解这个主题。 因此,如果有人能分享一些有用的材料,包括示例和流行的使用案例,我将感到非常高兴。详细的答案和解释也是受欢迎的。

179得票4回答
什么是具体化?

我知道Java使用擦除实现参数化多态(泛型)。我理解什么是擦除。 我知道C#使用再ification实现参数化多态。我知道这可能会让你编写public void dosomething(List<String> input) {} public void dosomething(...

104得票13回答
为什么我应该关心Java没有具体化的泛型?

最近我在面试中问了一个问题,询问应聘者希望在Java语言中增加的功能。具体而言,他们普遍认为缺少具有实体化泛型,但是当深入探究时,应聘者实际上无法告诉我如果有这种功能,他们可以实现哪些事情。 显然,由于原始类型在Java中是允许的(并且不安全的检查),因此可能会破坏泛型,并最终得到List&...

89得票5回答
什么是具体化的泛型?它们如何解决类型擦除问题,为什么不能在不进行重大更改的情况下添加?

我读过Neal Gafter在这个主题上的博客,但仍不清楚其中的一些要点。 为什么在当前Java、JVM和现有集合API的状态下无法创建保留类型信息的Collections API实现?它们不能在将来的Java版本中替换现有实现,以确保向后兼容性吗? 举个例子:List<T> ...

87得票6回答
在(函数式?)编程的背景下,“reify”和“reification”是什么意思?

我在有关Haskell和函数式编程的博客中经常看到这个术语(尤其是在sigfpe的博客中),但我不知道它是什么意思。大多数时候我可以逃避不知道它,但如果我知道它的话,我可能会更好地理解文章。 Google没有帮助我,我被技术内容搞糊涂了。 此外,“将抽象变为具体”的非技术含义并不能帮助我理解...

68得票6回答
Kotlin 泛型 Array<T> 导致 "无法使用 T 作为具体化的类型参数。请改用类",但 List<T> 没有这个问题。

我有一个包含元素类型为 T 的数组(或列表)和一些元数据的接口。 interface DataWithMetadata&lt;T&gt; { val someMetadata: Int fun getData(): Array&lt;T&gt; } 如果我编写接口的最简实...

29得票4回答
在RDF中具体化的简单示例

有没有好心人能给我一个RDF中具体的实现例子,我想看看自己是否理解得正确。 比如,我提出以下情况:Tolkien -&gt; wrote -&gt; Lord of the rings /|\ | Wikipedia said th...

29得票2回答
如何从Java中调用具有实化泛型的Kotlin方法?

我在 Kotlin 中有以下方法:inline fun &lt;reified T&gt; foo() { } 如果我尝试像这样从Java中调用它:myObject.foo(); 或者像这样:myObject.&lt;SomeClass&gt;foo(); 我遇到了以下错误: jav...

15得票6回答
版本化RDF存储

让我尝试重新表述一下: 我正在寻找一个具备以下功能的稳健的RDF存储或库: 命名图形,或其他形式的再现。 版本跟踪(可能在命名图形级别)。 隐私保护,针对用户组,可以在命名图形或三元组级别上实现。 人类可读的数据输入和输出,例如TriG解析器和序列化器。 我曾经使用过Jena、Ses...

12得票4回答
C#泛型如何影响包含基元类型的集合?

据我所知,C#/.Net泛型支持一定程度的再现(reification)。因此,如果我有以下代码:List&lt;int&gt; list = new List&lt;int&gt;(); list.Add(1); 数字1的值会被自动装箱吗?还是列表对象能有效地处理原始整数?