当前位置: 首页 > 图灵资讯 > 技术篇> 具有两个类型参数的泛型类

具有两个类型参数的泛型类

来源:图灵教育
时间:2024-12-15 19:41:33

具有两个类型参数的泛型类

在java中,可以声明一个接受两个或多个类型参数的泛型类。这些参数指定为以逗号分隔的列表。

例如,twogen 泛型类接受两个类型参数:

class twogen<t, v> {
    t ob1;
    v ob2;

    // construtor que recebe objetos de tipos t e v
    twogen(t o1, v o2) {
        ob1 = o1;
        ob2 = o2;
    }

    // exibe os tipos de t e v
    void showtypes() {
        system.out.println("type of t is " + ob1.getclass().getname());
        system.out.println("type of v is " + ob2.getclass().getname());
    }

    t getob1() { return ob1; }
    v getob2() { return ob2; }
}

使用示例: 该类可以与不同类型一起使用,如下所示:

twogen<integer, string> tgobj = new twogen<>(88, "generics");
tgobj.showtypes(); // exibe os tipos de t e v

int v = tgobj.getob1();  
system.out.println("value: " + v);  

string str = tgobj.getob2();  
system.out.println("value: " + str);  

示例输出:

type of t is java.lang.integer  
type of v is java.lang.string  
value: 88  
value: generics  

重要提示:

声明 twogen 时,创建实例时必须传递两个类型参数,如下例所示:

twogen<integer, string> tgobj = new twogen<>(88, "generics");

这里,t 被替换为 integer,v 被替换为 string。

类型参数可以相同:

twogen<string, string> x = new twogen<>("a", "b");

在本例中,t 和 v 都是 string 类型。

声明泛型类的一般形式:

class nomeclasse<parâmetrostipo> {
    // implementação
}

创建通用实例的一般方法:

NomeClasse<ArgumentosTipo> nomeVariavel = new NomeClasse<>(ArgumentosConstrutor);

以上就是具有两个类型参数的泛型类的详细内容,更多请关注图灵教育其它相关文章!

上一篇:

简单的通用示例

下一篇:

返回列表