问题标签 [nested-generics]
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.
java - 这个通用数组如何合法?
泛型数组的问题(即它们的不可能性)对我来说似乎是一个反复出现的主题。下面是一个HashMap数据结构的相关代码。显然,我不能声明 a Bucket[]
,因为泛型数组是不可能的。但是,我可以声明一个MapThing.Bucket[]
. 当我断言这是一种好习惯时,我是否正确,因为即使MapThing.Bucket[]
是原始类型声明,实际MapThing.Bucket[]
实例也是由其封闭实例类型参数化的?
感谢您的任何见解!
克里斯
java - 从Java中泛型类中的嵌套泛型分配变量?
如果我有以下代码:
我有一个DummyClass<?> dummy
,
我可以
没有任何错误。
然而,
给出编译错误:
为线分配dummy.getListSet()
。
为什么我不能分配dummy.getListSet()
给 a Set<List<?>>
?
java - 声明方法从声明类型返回泛型子类型
我正在尝试在工厂类中创建一个方法。子类型的返回必须与声明的参数类型相同。
方法声明有效,但是当我尝试使用时,该方法没有返回预期的类型。
这是一个说明我的问题的类:
foo 接口
foo 实现
FooParser
以及出现问题的地方
我正在使用 NetBeans IDE 8.1,但出现以下错误:
不兼容的类型:CAP#1 不能转换为 FooImpl,其中 CAP#1 是一个快速的类型变量 CAP#1 从捕获的 ?
有没有办法做这样的事情?
提前谢谢了
c# - 使用 Linq 过滤复杂对象
我需要根据这个复杂对象过滤一个 IEnumerable 列表。我需要对嵌套字典元素之一执行比较运算符。现在我在父对象上有一个 where 子句。如何构造 linq 扩展方法来过滤最内层字典中的关键元素之一?
java - java可以从泛型之上定义的类推断泛型类型吗?
我从另一个答案中借用了代码
我的问题与这段代码有关
正如IntToStringConverter
实现IConverter<Integer, String>
和类型是已知的Integer
,String
java没有推理系统来避免打字new ConverterUser<IntToStringConverter, Integer, String>()
和打字new ConverterUser<IntToStringConverter>()
吗?
java - 允许参数的泛型;或可参数化的泛型
我正在玩一个有趣的架构。人们可以制作包含 StoredObjects 的 Store。商店可以支持由接口表示的不同操作(即Get、Put、Print)。
这是它的样子,高度简化:
当我想实现类似的“get”方法时,问题就出现了。理想情况下,我想要一个如下所示的界面:
显然,这是畸形的java。是否有一些语法(或 hack)可以用来完成它的目的?实际上,我不想将常量类型指定为泛型参数,而是将可参数化类型指定为泛型参数(然后它本身将在 get 方法中参数化)。是的,这归结为 java 没有的更高种类的类型;如此疯狂 - 丑陋的黑客非常受欢迎!
由于其他设计限制而无法使用的常见解决方案:
- 将 get/put/etc 操作移入内部
Obj
类 - 创建一些超类型
Store.Obj<T>
并指定要采用它的接口,而不是通用参数。
java - 从泛型推断类型
有什么方法可以推断出对象 O 的类型,如下例所示(不会编译):
所以在上面的例子LogSet
中是通用的O
where O extends LogObject
。如果S extends LogSet
,那么使用S
是否可以推断出O
用作logUpdated
方法类型的类型?
是像这样明确地做到这一点的唯一方法:
我希望我的问题是有道理的。
swift - Nested function crashing the Swift compiler
I wrote a recursive mergeSort
function:
Now, since merge()
is only supposed to be used by mergeSort()
I placed it inside of mergeSort()
, therefore making merge()
a nested function:
Now the first version works fine, but the second one doesn't.
How can that be?
java - 如何在类中使用扩展泛型类型的类型?
假设我有一些课程如下:
我如何将类型定义为varOfTypeTA
TB 的 TA 是什么?
我知道我可以将它定义为A varOfTypeTA
,但我希望它是TA
not类型A
。
我尝试强制它定义 TAclass C<TB extends B<TA extends A>>
以便我可以使用TA
,但这会引发语法错误。
为了澄清,如果我然后定义这些类:
我怎样才能varOfTypeTA
成为类型Horse
?
java - 如何创建条目具有通用字段的项目数组?
我有这个代码:
当我编译它时,我得到一个错误,说:
我试过:
但后来我收到一条错误消息:
是否可以创建该数组?