问题标签 [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 - Java Typesafe 映射 - 两种泛型类型的 TypeCheck 可能吗?
我正在为从 POJO 转换到 POJO 的 Typesafe 映射创建一个库,以提供类型安全为目标,针对键保存数据。键不是任意的,而是像枚举这样的固定常量。我已经检查了这个和这个,但没有检查下面提到的 2 个条件的解决方案。
我有 2 节课Map
和Key
. Map 具有get
返回给定键值的方法。有2个条件:
- A :
Key
应该匹配Map
的泛型类型。 - B:
get
应该返回值匹配Key
的泛型类型。
我希望在编译时检查这两个条件。我不想传递多余的类或类型参数。
这可能看起来很复杂,但下面的客户端代码显示它使用起来很简单。
get1
解决A,get2
解决B,但我找不到同时检查两者的方法。
有一种不切实际的方法可以在理论上使用 2 个相同的参数来实现这一点,key1 检查 A,key2 检查 B:
到目前为止的解决方案:
我找到了一个解决方案,但它很尴尬并在客户端生成原始类型警告:让 Key 有 2 个类型 T 和 ActualKey。
似乎没有办法在客户端代码中删除这种原始类型的警告。
java - 字符串名称引用字段时如何获取通用对象上字段的类
我有一个方法,它接受一个对象和一个字符串(字符串是对象上一个字段的名称)。所以我从对象类中获取字段并使用 field.get(object) 来获取值。但我想将该值转换为该字段定义为的任何类。有没有办法在不需要使用@suppressWarnings("unchecked") 的情况下进行强制转换?
这是我的代码。我将它缩短为仅使用一个对象,但原始对象使用了一个对象列表并返回一个映射,其中 map-keys 是字段的对象值,而 map-values 是对象。
c# - AutoMapper 打开泛型映射不起作用
我正在尝试设置一个地图以利用开放的泛型,但它在运行时从不工作。我在 .NET Core 中使用 AutoMapper 5.2。
我有这些模型:
我希望能够从一个 RestData<T> 映射到另一个 RestData<T> ,其中 T 不一定相同。我创建了一个看起来像这样的 AutoMapper.Profile(使用界面):
我也这样尝试过(使用具体类型):
这就是我的 RestDataConverter 的样子:
我正在尝试在特定对象类型的两个集合之间进行映射(来源:RestData<List<DocumentRecord>>,dest:RestData<List<Document>>)。这是我的模型类型:
这是这两种对象类型的 AutoMapper.Profile:
我在 Startup.cs 中加载配置文件:
每当我做地图时,我都会得到这个异常:
此外,当我尝试做一些更简单的事情(来源:RestData<int>,dest:RestData<int>)例如这个单元测试时,我得到了一个类似的异常:
相同的基本例外:
swift - 泛型的泛型?A级>?
我可以以某种方式强制泛型类型具有泛型类型吗?我想要一些函数,作为参数类型 U,那么我该怎么做呢?
代码:
java - Java泛型,我如何定义一个需要一个参数的泛型类型?
让我给你一个具体的例子。
我有一个名为FutureConverter
. 这个想法是能够转换CompletableFuture
为另一种类型。如果您想在另一种 JVM 语言中使用我的库,这很有用。
我有一个返回的方法,CompletableFuture<MyClass>
我想将返回类型转换为MyGenericFutureType<MyClass>
. 但是,我不知道如何给出MyGenericFutureType
参数。
我希望能够做这样的事情:
现在类型参数FUTURE
不知道他需要一个参数本身,所以它不会明显编译。
- 这甚至可能吗?
- 如果是,我该怎么做?
我知道 Java 类型系统可能会受到限制,但我希望这可以通过某种方式实现。
非常感谢您!
generics - 如何生成可选> 在 JCodeModel 中?
我想为以下方法创建 JCodeModel:
我目前正在使用下面的代码来创建类的返回类型。
但是上面的代码给出了一个高优先级的 FindBug 错误PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS
。
谁能帮我优化上面的代码行?
swift - 带有循环元数据的 Swift 3.1 嵌套泛型错误
首先感谢您的光临。我目前正在使用 Swift 3.1 嵌套泛型,我遇到了初始化错误。
现在,我尝试初始化
但是,我收到一条错误消息,
GenericCache(0x11102a518):检测到循环元数据依赖,中止
我不知道为什么会这样。你们能帮忙吗?谢谢!
c# - 如何访问嵌套泛型类的方法/接口
我需要嵌套泛型,如 A< B< Base >> 。
当我这样做时,只有外部属性 (A) 被暴露。我不知道如何访问(B)的方法等。然后我尝试在内部访问接口并获得相同的结果。
(编辑)为了澄清用例,我需要的解决方案应该与 public class C : A < B < Base >> 或 public class C : B < A < Base >> 我不需要那些导致相同的类,但两个定义都有相应的方法。正如您可能怀疑的那样,我正在尝试使用它来以模块化模式跨多个对象实现通用功能。扩展方法让我很接近,但它们不会像这个解决方案那样允许被覆盖的行为(如果可以实现的话)。
我附上了测试代码,它可能比我更清楚地显示问题。
java - Java 泛型捕获组
我无法正确使用 Java 捕获组。
假设我有这些课程:
最后,
问题是这很好用 -
这不能正常工作(如预期的那样) - 导致运行时异常
为什么它不抛出编译时错误?如果我必须让它抛出编译时错误,我需要进行哪些更改?
java - Java中的级联泛型类型声明
如果这是一个常见问题,我很难在任何地方找到它,但我正在处理本质上是级联类型的问题。
我想做这样的事情,但是我不能以这种方式实例化泛型数组。getNodes() 返回节点的内容,而不是节点本身,但我不知道如何。
我在想,由 Graph 泛型定义的 Node 泛型意味着 Node 类始终具有与 Graph 类相同的类型。不是这样吗?
Node 类看起来像
谢谢你的帮助!
编辑:现在需要做的就是使返回的 Array 具有正确的类型。有没有办法从具有泛型类型分配的 ArrayList 中获取 Array?