java基础 泛型类的定义

泛型的定义与普通类定义相比,首先在类名后增加了由尖括号标识的类型变量,一般用T表示。T可以在泛型中的任何地方使用。对于泛化接口也是这样定义。

我们来看看普通类Box以及Box的泛型的代码:

(1)普通类Box的定义


public class MyBox{
private Object object;
public void add(Object object) {
this.object = object;
}
public object get() {
return object;
}
}

(2)Box类的泛型定义

public class MyBox<T>{
private T t;
public void add(T t) {
this.t = t;
}
public T get() {
return t;
}
}

在MyBox类的泛型定义中,将类声明中的“public class MyBox”改为“public class MyBox<T>”,并且把MyBox类体中所有的Object都用T进行替换,从而将MyBox定义为能存放各种确定类型对象容器的抽象类型

package practice;


public class MyBoxTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
MyBox<String> aBox = new MyBox<String>();
aBox.add(new String("阿"));
String i = aBox.get();
System.out.println(i);
}
}

输出:

  阿

public class MyBoxTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
MyBox<Integer> aBox = new MyBox<Integer>();
aBox.add(newInteger("2018"));
Integer i = aBox.get();
System.out.println(i);
}
}

输出:

  2018

原文地址:https://www.cnblogs.com/tiandiou/p/8419455.html