gpt4 book ai didi

java - 了解 Java 中的泛型方法

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:57 25 4
gpt4 key购买 nike

我试图理解我在现有 Android 应用程序中阅读的一种方法。该方法的声明如下所示:

protected <V, T extends Result> void postObject(final V input, final T result, final ConnectionTarget endpoint, final boolean restart, final int id, final LoaderProvider provider, final ServiceCallbacks<T> callbacks) {

我刚刚阅读了有关泛型的内容,所以我或多或少地了解这里发生了什么,但并不完全了解。因此我有两个问题:

  1. 应该input是一种类型(即类),还是应该只是任何类型的对象?
  2. <V, T extends Result> 是什么意思意思?据我所知,那个地方应该总是描述方法的返回类型,但它已经说了 void在它的后面,加上,它同时表示 VT .

谁能举例说明如何调用这个方法?

最佳答案

我会把它分成更小的部分,这样更容易理解。在部分中:

protected <V, T extends Result> void

<V, T extends Result>是一个可选部分(通常不存在),用于指定泛型类型(或未知对象类型)。这是由 < 指定的和 >并且任何逗号分隔值都是一个单独的对象(对象“T”必须扩展结果)。

这意味着稍后在方法调用中:

... postObject(final V input,...

该输入是对象类型 V,这意味着它可以是您想要的任何对象。

编辑

调用此方法的基本示例是:

//Now post it
postObject("my input object", null /*Your result class*/, null /*your endpoint*/, true, 0, null /*your loaderProvider*/, null /*your callbacks*/);

关于java - 了解 Java 中的泛型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20250722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com