泛型的使用
Posted 爸爸去哪了2之熊猫三胞胎
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泛型的使用相关的知识,希望对你有一定的参考价值。
泛型的使用
泛型:
1.没有使用泛型,任何Object子类都可以被添加
2.数据类型强转可能会爆出异常
public class TestGeneric
//集合中没有使用泛型
public static void main(String[] args)
List list=new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add("123");
for (int i = 0; i < list.size(); i++)
System.out.println(list.get(i));
使用泛型之后:
public class TestGeneric
//集合中没有使用泛型
public static void main(String[] args)
List<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
//list.add("123");报错
for (int i = 0; i < list.size(); i++)
System.out.println(list.get(i));
自定义泛型类:
public class Order<T>
private String name;
private int age;
private T t;
List<T> list =new ArrayList<>();
public void add()
list.add(t);
public String getName()
return name;
public void setName(String name)
this.name = name;
public int getAge()
return age;
public void setAge(int age)
this.age = age;
public T getT()
return t;
public void setT(T t)
this.t = t;
泛型与继承:
泛型与继承的关系:
若A是类B的子类,那么List就不是List的子类
public static void main(String[] args)
Object obj=null;
String str="AA";
obj=str;
Object[] obj1=null;
String[] str1=new String[] "AAA","BBB","CCC";
obj1=str1;
List<Object> list1=null;
List<String> list2=new ArrayList<>();
// list1=list2;
通配符:
List 、List。。。。都是List
public static void main(String[] args)
List<?> list=null;
List<Object> list1=new ArrayList<>();
List<String> list2=new ArrayList<>();
list=list1;
list=list2;
List<? extends Number> list3=new ArrayList<>();
List<Integer> list4=null;
list3=list4;
List<? super Number> list5=new ArrayList<>();
list5=list1;
以上是关于泛型的使用的主要内容,如果未能解决你的问题,请参考以下文章