问题标签 [parameterized-types]

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 投票
1 回答
287 浏览

java - 提取参数化类型的值时,将参数化类型类参数转换为子类形式

如何将参数化类型类参数转换为其子类形式?我已经阅读了很多关于提取类型参数值的示例和问题,你应该有一个接口或抽象类,你应该从中扩展

考虑下面的代码

使用上面的代码,您可以将“类型”变量转换为 (Class<T>) 表示的内容。假设 <T> 是Person.class

下面是完整的实现,其中 Person 类是传递给通用超类类型参数参数的值。当我创建泛型子类的实例并传递 Person 类型参数参数的子类时,它总是被强制转换为 Person。type == Student.class打印false或者即使我打印类型,它总是打印Person不是Student。我怎样才能做到这一点?我想要的东西是可能的吗?

通用子类

通用超抽象类

请我真的需要一些帮助。我找不到类似的问题。

0 投票
1 回答
68 浏览

java - 如何使用参数 T 模拟和验证方法

我有一个方法:

如何使用 mockObject 调用此方法并验证它?

我正在尝试这样:

但收到错误

InvalidUseOfMatchersException:参数匹配器的使用无效!

感谢任何(帮助)

0 投票
1 回答
1513 浏览

java - JsonParseException:运行 google places api 时的 JsonDeserializer com.google.gson.DefaultTypeAdapters

我正在运行一个谷歌地方 api 我收到的响应是 json 格式我也在 json 查看器中检查了它,

我以这种方式使用了模型 1.GooglePlacesModel 是包含列表结果的主模型;2.PlacesMainModel 包含List几何;我再次根据需要使用子模型现在我能够在结果数组中接收字符串字段,例如名称,图标,但是我无法接收几何字段,例如位置我遇到了以下堆栈跟踪

0 投票
1 回答
509 浏览

java - 为什么 java 编译器对类文字给出“rawtypes”警告?

我正在使用 mockito 编写一些测试,并且我正在使用以下代码:

这编译并运行得很好,除了“captor”是原始类型的警告,我应该用类似的东西替换它:

问题是 LinkedList<String>.class不存在,因此赋值的右侧永远不会编译。

假设抑制警告是不优雅的,有没有优雅的解决方案?如果不是,为什么编译器会警告我一些我无法真正修复的东西?

0 投票
1 回答
150 浏览

java - Java中有哪些方法可以用extend设置上限

我只是想检查这是不可能的/如果它可以使用 Java。我着手制作可用于有界字符串系列的 java 版本的模板(即泛型类)。

父类使用 U 作为 MAX_LEN 的值,例如

或者也许更好,使 MAX_LEN 受到抽象保护,所以我不需要“maxLen”成员,最大值始终可以是静态最终值。我的努力和阅读表明 Java 中的泛型是纯类型的,所以它不应该工作。我已经放下了链接,是时候使用声明来做到这一点了;我仍然想知道是否有更严格的泛型方法来做到这一点!?或者最终的答案是“不”。

也可以看看:

0 投票
1 回答
1509 浏览

java - Apache Avro 框架可以在序列化期间处理参数化类型吗?

Apache Avro 可以在序列化期间处理参数化类型吗?

当我尝试序列化使用泛型的实例时,我看到 Avro 框架抛出了这个异常 -

我试图序列化的类看起来像这样

我正在尝试根据传入的 POJO 实例动态生成架构。我的序列化代码如下所示 -

我的代码中触发异常的行:

相同的代码适用于没有参数化类型的类。

0 投票
1 回答
129 浏览

java - Java中的参数化类型不匹配

我有三种类型,A,B,和X

还有这个 api 调用

我正在打这个电话

但我收到错误:

A本质上不应该是X吗?如何使这个工作?

0 投票
1 回答
258 浏览

java - 在参数化类型转换中避免未经检查的转换警告

类型转换参数化类型对象时是否可以避免unchecked警告?例如,下面是我面临的实际情况,var1JComboBox<RandomType>我希望将其存储在 aMap然后检索它的类型,这迫使我进入以下情况。

常规转换和条件转换都会导致相同的警告。

在这种情况下甚至可以避免该警告而不必使用@SuppressWarnings注释?

0 投票
5 回答
869 浏览

java - 为什么可以从 Java 中的参数化列表中取回“类型不正确”的对象?

这是一个代码片段:

我明白为什么可以在参数化列表中插入 String 类的对象。

似乎我理解为什么标记为#1#2失败的代码。

但为什么要做#3#4工作?据我了解,编译器在类型擦除后添加了适当的强制转换,因此当我调用 时list.get(0),此方法应返回先前强制转换为 Integer 的 Object。那么为什么在运行时 #3 和 #4 没有发生 ClassCastException 呢?

0 投票
2 回答
1717 浏览

java - Java 泛型 - 参数化类与类型化方法

我想这是一个重复的问题,但是在浏览了大量相关问题之后,我找不到匹配的问题……是的,蹩脚的借口;)

我目前正在为POI HSLF/XSLF实现开发一个通用接口。使用泛型的原因是为了支持Iterable接口,用户代码不需要向下转换到具体的实现,即可以决定是使用实现类还是通用接口。当然,如果没有泛型,返回类型缩小按预期工作。

我的目标是最小化类用户的参数声明 - 请参阅 main 方法。在内部,通用引用可能更复杂。

所以我想要这样的东西:(为了简单起见,我没有使用 Iterable 接口,而是使用了不同的类型参数)

/* 更新:向类添加静态并删除空定义以实际运行示例 */

我可以让它工作......但这似乎有点笨拙:

您将如何最小化 main 方法中所需的类型参数(最低为 JDK6)?