问题标签 [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.
java - 'U extends Something' VS just 'Something' in Bounded Type Parameters
假设我在泛型方法中有一个有界类型参数(Java™ 教程中的一个示例,http ://docs.oracle.com/javase/tutorial/java/generics/bounded.html ):
然后,我可以使用任何 Number 子类型参数调用:
但是,这与使用带有 Number 参数的方法相同:
在泛型方法中使用有界类型参数(扩展)有什么好处?
注意不喜欢
这些通用方法不需要/不需要任何子类型关系。
c# - 泛型方法:Contact with Interface,如何访问属性
我想在一个受接口约束的泛型方法中访问新创建对象的属性:
由于编译器知道“T”属于 MyInterface 类型,因此应该可以访问该接口的属性:
但它说:T没有“名称”的定义
如果我可以在这里使用接口作为约束:为什么不能访问它的属性?
java - 为什么这个带有绑定的泛型方法可以返回任何类型?
为什么下面的代码会编译?该方法返回该类型或其子类IElement.getX(String)
的实例。IElement
类中的代码Main
调用该getX(String)
方法。编译器允许将返回值存储到该类型的变量中Integer
(这显然不在 的层次结构中IElement
)。
IElement
即使在类型擦除之后,返回类型不应该仍然是 - 的一个实例吗?
该getX(String)
方法的字节码是:
编辑:String
始终替换为Integer
.
java - 如何在将另一个泛型类型作为参数的同时返回一个泛型类型,这两者都是实现交互所必需的?
好吧,是的,标题有点混乱。但这是我想要完成的:
我想返回一个包含C类型元素的列表。我希望该方法接收R类型的变量。C必须是实现接口的类,即C_interface,R必须是实现另一个接口的类,即R_interface。
在我的世界里,这个方法头应该可以工作:
但事实并非如此。我在 Eclipse 中收到以下错误:
如果我删除 implements 接口部分,如下所示:
一切正常。而且我想我可以检查方法中的类型。但是如果第一种方法是可能的,那就更好了。
reflection - 通过反射调用方法时参数无效
我正在尝试使用反射调用 Prism EventAggregator,因为事件有效负载是在运行时确定的。
以下是使用 EventAggregator 的常规方法:
我正在这样做:
在我看来很好。但是当我执行最后一行“(pubSubEvent.Publish(@event);”时,我得到了异常,即使用无效参数调用发布方法。知道为什么@event参数无效吗?
问候!
java - 使用接口绑定泛型方法的类型参数?
所以我有两个版本的相同方法。
版本 1:
版本 2:
Eclipse 抱怨版本 1,因为 > 运算符只能在比较原语时使用,这对我来说很有意义。
所以为了解决这个问题,互联网告诉我使用由 Comparable 接口限制的类型参数。这就是我开始失去对正在发生的事情的掌握的地方......
从我对接口的基本理解来看,实现接口的类必须为接口中声明的每个方法提供一个方法体。
因此,为什么版本 2不必看起来像这样?
^我知道这不是正确的语法,但我这样做只是为了说明我的问题,即为什么在这种情况下我不必为 Comparable 接口中的方法编写方法体。
请尽量保持通俗易懂的解释。我一直在自学这些东西,所以当我进一步研究主题时,简单的解释可以帮助我理解主题的更多技术方面。
很抱歉造成混乱,让我澄清一下。
这是 Comparable 接口的代码:
compareTo() 没有方法体,因为它是一个接口。为什么我不必手动为 compareTO() 编写一个主体,这样我就可以在我的 countGreaterThan() 方法中使用该接口?
是否因为该接口是 Java Collections Framework 的一部分(如果这就是原因,请解释它是如何工作的)
这是我创建自己的界面的另一种情况:
为了在不同的类中实现该接口,我需要在这些类中为舞蹈接口中的方法编写方法体。
为什么我不必为 compareTo() 编写方法体(因为方法体不包含在 compareTo() 的 Comparable 接口中)?
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.
c# - c# 使用反射动态调用泛型方法,方法符号相同,方法表中的非泛型版本
假设我有这样的课程:
如果我创建一个类型为:MyTestClass<Object> 的实例,我可以使用以下代码获取“DoOtherThing”方法:
但是有两个名为“DoSomeThing”的方法,<strong>如何使用反射调用它的泛型版本?
为了清楚地描述我的问题,我举了下面的例子。
问题是,哪个是使用泛型类型的方法,m1 还是 m2?
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.
java - Java将类名+对象传递给泛型方法
在 Android Java 中,我想要一个 MyDownloadHelper 来下载并返回 JSON 数据。这是在具有不同类/对象名称的两个单独文件中工作。但是,我不能让它动态工作。
使用当前设置,我可以调用MySQLiteHelper.getRecipients();
另一个活动,它将返回正确的数据。我还使用两个类(Pakbon、Recipient)来设置正确的数据。
这是我目前的来源:
}