您的位置:首页 > 编程语言 > Java开发

Java中泛型数组的使用

2015-09-16 11:39 645 查看
package com.srie.testjava;

import java.util.ArrayList;
import java.util.List;

public class TestClassDefine3<T, S extends T> {

public static void main(String[] args) {

// 这个会有warning;
TestClassDefine3<String, String>[] tcd3 = new TestClassDefine3[12];
TestClassDefine3<Integer, Integer> t1i = new TestClassDefine3<Integer, Integer>();
TestClassDefine3<String, String> t2s = new TestClassDefine3<String, String>();
// tcd3[0] = t1i; // 这个类型不匹配,会有编译错误;
tcd3[0] = t2s; // 这个可以添加;

List<String> slist = new ArrayList<String>();
slist.add("a");
slist.add("b");
@SuppressWarnings("unchecked")
List<String>[] sListArr = new ArrayList[12];
sListArr[0] = slist;
// System.out.println(sListArr);
for (List<String> list : sListArr) {
if (list != null) {
for (String string : list) {
System.out.println(string);
}
}
}

}

}


反编译之后的结果:

package com.srie.testjava;

import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class TestClassDefine3<T, S extends T>
{
public static void main(String[] args)
{
List[] arrayOfList1;
TestClassDefine3[] tcd3 = new TestClassDefine3[12];
TestClassDefine3 t1i = new TestClassDefine3();
TestClassDefine3 t2s = new TestClassDefine3();

tcd3[0] = t2s;

List slist = new ArrayList();
slist.add("a");
slist.add("b");

List[] sListArr = new ArrayList[12];
sListArr[0] = slist;

int j = (arrayOfList1 = sListArr).length; for (int i = 0; i < j; ++i) { List list = arrayOfList1[i];
if (list != null)
for (Iterator localIterator = list.iterator(); localIterator.hasNext(); ) { String string = (String)localIterator.next();
System.out.println(string);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: