问题标签 [generic-method]

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 投票
3 回答
179 浏览

java - 'U extends Something' VS just 'Something' in Bounded Type Parameters

假设我在泛型方法中有一个有界类型参数(Java™ 教程中的一个示例,http ://docs.oracle.com/javase/tutorial/java/generics/bounded.html ):

然后,我可以使用任何 Number 子类型参数调用:

但是,这与使用带有 Number 参数的方法相同:

在泛型方法中使用有界类型参数(扩展)有什么好处?

注意不喜欢

这些通用方法不需要/不需要任何子类型关系。

0 投票
2 回答
44 浏览

c# - 泛型方法:Contact with Interface,如何访问属性

我想在一个受接口约束的泛型方法中访问新创建对象的属性:

由于编译器知道“T”属于 MyInterface 类型,因此应该可以访问该接口的属性:

但它说:T没有“名称”的定义

如果我可以在这里使用接口作为约束:为什么不能访问它的属性?

0 投票
1 回答
2311 浏览

java - 为什么这个带有绑定的泛型方法可以返回任何类型?

为什么下面的代码会编译?该方法返回该类型或其子类IElement.getX(String)的实例。IElement类中的代码Main调用该getX(String)方法。编译器允许将返回值存储到该类型的变量中Integer(这显然不在 的层次结构中IElement)。

IElement即使在类型擦除之后,返回类型不应该仍然是 - 的一个实例吗?

getX(String)方法的字节码是:

编辑:String始终替换为Integer.

0 投票
1 回答
109 浏览

java - 如何在将另一个泛型类型作为参数的同时返回一个泛型类型,这两者都是实现交互所必需的?

好吧,是的,标题有点混乱。但这是我想要完成的:

我想返回一个包含C类型元素的列表。我希望该方法接收R类型的变量。C必须是实现接口的类,即C_interface,R必须是实现另一个接口的类,即R_interface。

在我的世界里,这个方法头应该可以工作:

但事实并非如此。我在 Eclipse 中收到以下错误:

如果我删除 implements 接口部分,如下所示:

一切正常。而且我想我可以检查方法中的类型。但是如果第一种方法是可能的,那就更好了。

0 投票
1 回答
102 浏览

reflection - 通过反射调用方法时参数无效

我正在尝试使用反射调用 Prism EventAggregator,因为事件有效负载是在运行时确定的。

以下是使用 EventAggregator 的常规方法:

我正在这样做:

在这里您可以看到方法和方法参数变量

在我看来很好。但是当我执行最后一行“(pubSubEvent.Publish(@event);”时,我得到了异常,即使用无效参数调用发布方法。知道为什么@event参数无效吗?

问候!

0 投票
1 回答
187 浏览

java - 使用接口绑定泛型方法的类型参数?

所以我有两个版本的相同方法。

版本 1:

版本 2:

Eclipse 抱怨版本 1,因为 > 运算符只能在比较原语时使用,这对我来说很有意义。

所以为了解决这个问题,互联网告诉我使用由 Comparable 接口限制的类型参数。这就是我开始失去对正在发生的事情的掌握的地方......

从我对接口的基本理解来看,实现接口的类必须为接口中声明的每个方法提供一个方法体。

因此,为什么版本 2不必看起来像这样?

^我知道这不是正确的语法,但我这样做只是为了说明我的问题,即为什么在这种情况下我不必为 Comparable 接口中的方法编写方法体。

请尽量保持通俗易懂的解释。我一直在自学这些东西,所以当我进一步研究主题时,简单的解释可以帮助我理解主题的更多技术方面。


很抱歉造成混乱,让我澄清一下。

这是 Comparable 接口的代码:

compareTo() 没有方法体,因为它是一个接口。为什么我不必手动为 compareTO() 编写一个主体,这样我就可以在我的 countGreaterThan() 方法中使用该接口?

是否因为该接口是 Java Collections Framework 的一部分(如果这就是原因,请解释它是如何工作的)

这是我创建自己的界面的另一种情况:

为了在不同的类中实现该接口,我需要在这些类中为舞蹈接口中的方法编写方法体。

为什么我不必为 compareTo() 编写方法体(因为方法体不包含在 compareTo() 的 Comparable 接口中)?

0 投票
1 回答
92 浏览

c# - Deserialize string in generic method c#

I need deserialize a string with a special encode in a class, like the funcion "JsonConvert.DeserializeObject<>" of NewtonSoft library, I wrote this code:

EDIT #1: The problem is that this code not work fine, do not what the problem with my question. It is difficult to explain in another language, so I wrote an example code, in it will should see the problem.

0 投票
0 回答
56 浏览

c# - c# 使用反射动态调用泛型方法,方法符号相同,方法表中的非泛型版本

假设我有这样的课程:

如果我创建一个类型为:MyTestClass<Object> 的实例,我可以使用以下代码获取“DoOtherThing”方法:

但是有两个名为“DoSomeThing”的方法,<strong>如何使用反射调用它的泛型版本?

为了清楚地描述我的问题,我举了下面的例子。

问题是,哪个是使用泛型类型的方法,m1 还是 m2?

0 投票
1 回答
184 浏览

java - How can a parameter in a Generic method be assigned to an Integer and a Character class at the same time?

Why this code isn't showing any compilation error?

If we write a normal code like this(shown below)

Then why the above above is running fine,how can T be of Integer class and array of T be of Character class at the same time,and if its running then why its not printing true,ASCII vaue of 'a' is 97,so it should print true.

0 投票
1 回答
248 浏览

java - Java将类名+对象传递给泛型方法

在 Android Java 中,我想要一个 MyDownloadHelper 来下载并返回 JSON 数据。这是在具有不同类/对象名称的两个单独文件中工作。但是,我不能让它动态工作。

使用当前设置,我可以调用MySQLiteHelper.getRecipients();另一个活动,它将返回正确的数据。我还使用两个类(Pakbon、Recipient)来设置正确的数据。

这是我目前的来源:

}