Java初谈之泛型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java初谈之泛型相关的知识,希望对你有一定的参考价值。

/*
*
* 泛型与c++的模版有异曲同工之妙
* 泛型是面向对象的
*
*函数基本使用格式 < T> 返回值 函数名(){} //可以是任意的大写字母不一定非是T
*类基本使用格式 class classname<T> {}  以及 class classname<T extend interface & implements>{}
*
*使用方式和普通类是一样的 采用new的形式 只不过T要有具体的类(不是对象)代替

泛型无外呼泛型方法和泛型类 下面对常见的情况进行了测试(这些都明白了 通配符就不作叙述了)


*/
public class JGnenerics {
static public <G > void test(G []t){
for(G m:t){
System.out.println(m);
}
}
// 比较三个值并返回最大值
public static <T extends Comparable<T>> T maximum(T x, T y, T z)
{
T max = x; // 假设x是初始最大值
if ( y.compareTo( max ) > 0 ){
max = y; //y 更大
}
if ( z.compareTo( max ) > 0 ){
max = z; // 现在 z 更大
}
return max; // 返回最大对象
}
public static void main(String argc[]){
Integer i[]={10,100,1000};
test(i);
maximum(1,2,1);

r<m1> r=new r<m1>();//这个样子是完全可以的
myGenerics<h> f=new myGenerics<h>();
}
}
interface Generics<G>{
public void test(G t);
}

class myGenerics<T extends Generics>{//注意这里Generics后面不能有<>这个东西 否则会报类型不匹配

}
class h<String > implements Generics<String>{
public void test(String a){}

}


class m{}
class m1 extends m{}
class r<G extends m>{}

以上是关于Java初谈之泛型的主要内容,如果未能解决你的问题,请参考以下文章

2022-08-01 java之泛型枚举多线程

CLR类型设计之泛型

iOS开发-Swift进阶之泛型!

Java之泛型

Java进阶之泛型

java之泛型