Java泛型中的通配符的使用

package com.srie.testjava;

import java.util.ArrayList;
import java.util.List; public class TestClassDefine2<T, S extends T> { public static void main(String[] args) {
List<String> slist = new ArrayList<String>();
List<Integer> iList = new ArrayList<Integer>();
iList.add(1);
iList.add(2);
slist.add("a");
slist.add("b");
List<?> a = slist;
System.out.println(a);// [a, b]
// a.add("c");//无法往不确定类型中添加具体元素;只能从不确定类型中读取;
a.add(null);// 可以添加null;
slist.add("c");
System.out.println(a);// [a, b, c]
a = iList;
System.out.println(a);// [1, 2] // 反编译之后的结果:
// List slist = new ArrayList();
// List iList = new ArrayList();
// iList.add(Integer.valueOf(1));
// iList.add(Integer.valueOf(2));
// slist.add("a");
// slist.add("b");
// List a = slist;
// System.out.println(a);
//
// a.add(null);
// slist.add("c");
// System.out.println(a);
// a = iList;
// System.out.println(a); } }
上一篇:ionic2+Angular 依赖注入之Subject ——使用Subject来实现组件之间的通信


下一篇:廖雪峰老师博客学习《通过生成器generator生成列表式杨辉三角》