首页   快速返回

java泛型技巧     所属分类 java
通配符 ? 类型不确定
只能用于申明变量或形参,不能用于定义泛型类



List<?> list =new ArrayList<Integer>();
list =new ArrayList<String>();
list =new ArrayList<Object>();  
// 不能创建对象
// list =new ArrayList<?>();

// 声明形参
public static void test(List<?> list){}
	
// 不能用于返回值
// public static <?> test2(){}
	
// 
class Test<T>{}
	
// 不能用于泛型类型
//class Test2<?>{}




限制泛型可用类型

extends 上限 指定的类型必须是继承某个类,或者实现某个接口   子类或自身

super   下限 指定的类型必须是父类或自身

public class Fruit {}
public class Apple extends Fruit{}
public class Pear extends Fruit{}
public class BigApple extends Apple{}



// 匹配 Furit 及其 子类
public static void test3(List<? extends Fruit> list){}

// 匹配 Apple 及 其父类 
public static void test4(List<? super Apple> list){}

test3(new ArrayList<Fruit>());
test3(new ArrayList<Apple>());
		
test4(new ArrayList<Fruit>());
test4(new ArrayList<Apple>());
// 只能匹配 Apple 及其父类 
// test4(new ArrayList<BigApple>());



上一篇     下一篇
互联网金融大数据爬虫业务简介

现金贷与消费贷

maven snapshot 与 release

Java 泛型 集合 数组

这是fastjson的bug吗

消费金融和消费贷