java中的泛型

来源:互联网 发布:淘宝手机膜评价 编辑:程序博客网 时间:2024/05/29 16:49

泛型的基本精神:数据类型参数化;

泛型主要在集合框架中来用;

泛型参数类型不能为基本类型,只能是引用类型(比如integer,String等)

可以声明多个泛型参数类型,比如<T,P,Q...>,同时还可以嵌套类型;比如<List<String>;


package javastudy;


import java.util.*;


public class Testit {


public static void main(String[] args) {
// 没有利用泛型
// List mylist = new LinkedList();
// mylist.add(100);
// int x;
// x = (int) mylist.get(0);
// System.out.println(x);
// 利用了泛型,可以确定好类型;
// Integer是int的封装,int是基本类型,而Integer是类,但也是int类型


// List<Integer> myList = new LinkedList<Integer>();
// myList.add(100);
// int x;
// x = myList.get(0);//索引第一个值
// System.out.println(x);


// 自定义一个泛型
// Mytest<Integer> it = new Mytest<Integer>();
// it.Set(100);
// it.print();

Mytest<Person>  it = new Mytest<Person>();
it.Set(new Person("zhang",20));
it.print();
}


}


class Mytest<T> {//可以把T看做一个引用类型,上面的main会给出确定的类型
T var;


void Set(T var) {
this.var = var;
}


T Get() {
return var;
}


void print() {
System.out.println(var);
}


}
class Person
{
String name;
int age;
   Person(String name,int age) {
this.name =  name;
this.age = age;
}
   @Override
public String toString() {
// TODO Auto-generated method stub
return "姓名 ="+name+","+"年龄  ="+age;
}

}

输出结果为:

姓名 =zhang,年龄  =20

1 0