当前位置: 首页 > 知识库问答 >
问题:

具有两个参数的泛型类

张财
2023-03-14

问题是:

创建一个名为Duo的泛型类,它有两个参数a和B。声明一个名为a类型的第一个变量,以及一个名为B类型的第二个变量。创建一个接受这两个参数的构造函数。在构造函数中,将这些参数分别分配给声明的变量。

这是我能想到的解决方案:

public class Duo<T> {

    T first;
    T second;

    public Duo(T one , T two) {
        this.first = one;
        this.second = two;
    }

}

然后,当我继续问下一个问题时,我被绊住了。问题是:

使用问题4中的Duo类声明并创建两个对象,如下所示:

a) 第一个名为sideShape的对象分别由字符串类型和整数类型组成。

b) 第二个名为points的对象由两种双重类型组成。

我很困惑。如何使用两个参数调用泛型类?

这是我的方法:

Duo <Object> sideShape = new Duo();  

我说得对吗?

如果没有,请指出我的错误。我真的迷路了。

共有1个答案

马天逸
2023-03-14

你需要两种基因型:

public class Duo<P,Q> {

P first;
Q second;

public Duo(P one , Q two) {
    this.first = one;
    this.second = two;
}
}

以后你可以使用如下:

Duo<String, Integer> duo = new Duo("Hello", 5);
 类似资料:
  • 编译以下Java代码: 此外,编译以下代码: 以下代码将给我一个编译错误: 因此,看起来,如果其中一个边界类型本身是类型参数,就不可能有多个边界。但为什么呢? 据我所知,如果声明了多个边界,那么最多一个边界可能是一个类(其他所有边界都是接口),并且它必须是第一个边界。 但是,既然在我的示例中是一个接口,为什么编译器会抱怨呢?毕竟,T是接口还是类应该没有任何区别。 我试图在网上找到答案,但显然我的谷

  • 我有以下Java问题 我有以下通用类,它们可能被描绘为: 其中

  • 问题内容: 我想知道是否有可能编写一个接受多种通用类型的函数,如下所示: 那行得通吗?每个参数中的泛型是否意味着每个参数必须具有与泛型相同的类型T? 问题答案: 是的-可能的(虽然不是使用方法签名),是的,使用签名的类型必须相同。 使用给定的签名,必须在呼叫站点将其与单个类型(例如 或 )相关联。但是,您可以声明采用多个类型参数的方法签名 请注意,在上面的签名中,我已经声明了类型以及签名本身。因此

  • 我已经声明了这样一个活动 谢谢您的关注

  • 导入java.util.ArrayList;导入java.util.List; 另外,artist.java配备了空构造函数 @IgnoreExtraProperties公共类Artist{private String ArtistId;private String ArtistName;private String ArtistAmount;private String ArtistAry; 这

  • 我有一个问题,归结为试图将具有特定参数类型的函数分配给期望具有泛型类型的函数的变量: 游乐场版。 TypeScript给出以下错误: 类型“(v:string[]))= 这个错误对我来说没有多大意义,因为对于泛型,似乎是一个非常合理的类型。 有一个相关的问题具有相同的基本问题,但是答案是特定于该问题的情况的:为什么实现接口的TypeScript类不能分配给扩展接口的通用约束?