泛型心得
2019-02-27 14:53 Spiderman25 阅读(105) 评论(0) 收藏 举报Info<String> i=new Info<String>();
Info<Object> temp=i;会出错,尽管String是Object的子类
Info temp=i;可以,但不妥当,会出现警告信息,这时默认为Object进行接收
Info<?> temp=i;可以,但不能设置被泛型指定的内容,如temp.set("dd")会出错,但可以设置为null,
Info<? extends String> temp=i;可以设置值;如temp.set("xx");
类定义以及接收都可以设置上限extends下限super,在类中表示可以接收什么类型的类,在方法中表示可以接收什么类型的类的泛型可以设置多个泛型<T,K,L>
泛型接口
class InfoImpl<T> implements Info<T>
Info<String> i=new InfoImpl<String>("");
class InfoImpl implements Info<String>
Info<String> i=new InfoImpl("");
泛型方法
public <T> T fun(T t){
return t;}就表示接收了什么类型的参数就返回什么类型的参数
public <T extends Number> Info<T> fun(T t){
return t;}这里的T必为Number子类
public <T> T fun(Info<T> i1,Info<T> i2){
return t;}
浙公网安备 33010602011771号