钻石操作符<> 表示泛型, <E>占位符 E在类声明中不用明确类型。
而泛型在实例化,new一个对象的时候要明确是什么类型,以后都是这个类型了。
<E>就表示转什么都可以,表示传入什么类型都行,但是new 过了就只能是这一种类型了。
多个泛型之间用逗号隔开;
使用泛型后,可以避免类型转换时需要强制类型转换。
泛型可以在接口中声明,像
public class interface IMessage<T>{
void print( T t);
}
子类实现接口时:像
1继续保留泛型
public class MessageImpl1<T> implements IMessage<T> { @Override public void print(T t) { System.out.println(t); } }
2明确当前类型,像
public class MessageImpl2 implements IMessage<String> { @Override public void print(String s) { System.out.println(s); } }
创建一个测试类看看:像
public class IMessageTest { public static void main(String[] args) { IMessage <String>message=new MessageImpl1<>(); message.print("奥特曼"); IMessage<Integer>message1=new MessageIm