package java;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* List<? extends Object> list相当于是List<?> list
* 如果要把值放到list中,不能直接add,要先放到一个非泛型的list中,在通过下面传参的方式进行处理,如果知道具体是哪个类型
* 并且不是使用工具类中的方法或继承父类的方法,一般不适用泛型。
*/
public class GenericTest {
public static void main(String[] args) {
Map<String, Object> map = new HashMap<String, Object>();
Map<String, Object> map01 = new HashMap<String, Object>();
Map<String, Object> map02 = new HashMap<String, Object>();
Map<String, Object> map03 = new HashMap<String, Object>();
map.put("1", "a");
map.put("2", "b");
map01.put("1", "a");
map01.put("3", "c");
map03.put("1", "a");
map03.put("4", "d");
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> list01 = new ArrayList<Map<String, Object>>();
list.add(map);
list.add(map01);
list.add(map03);
// System.out.println(list);
for (Object object : list) {
map02 = (Map<String, Object>) object;
String value = (String) map02.get("1");
if ("a".equals(value)) {
list01.add(map02);
// System.out.println(list01);
// System.out.println();
}
}
System.out.println(test(list01));
}
private static List<? extends Object> test(List<? extends Object> list) {
return list;
}
}