除了泛型(T)中的类型化参数外,您还可以使用“?”来表示未知类型。这些被称为通配符,您可以将通配符用作-参数类型或字段或本地字段。使用通配符,您可以将ArrayList <String>转换为ArrayList <Object>,如下所示:
ArrayList<String> stringList = (ArrayList<String>)(ArrayList<?>)(list);
import java.util.ArrayList; import java.util.Iterator; import java.util.ListIterator; public class ArrayListExample { public static void main(String args[]) { //实例化ArrayList对象 ArrayList<Object> list = new ArrayList<Object>(); //填充ArrayList- list.add("apples"); list.add("mangoes"); list.add("oranges"); //将对象类型的数组列表转换为字符串类型 ArrayList<String> stringList = (ArrayList<String>)(ArrayList<?>)(list); //列出获得的列表的内容 Iterator<String> it = stringList.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } }
apples mangoes oranges
要将ArrayList <Object>转换为ArrayList <String>-
创建/获取String类型的ArrayList对象。
通过将上面获得/创建的对象作为参数传递给其构造函数,以创建一个Object类型的新ArrayList对象。
import java.util.ArrayList; import java.util.Iterator; import java.util.ListIterator; public class ArrayListExample { public static void main(String args[]) { //实例化ArrayList对象 ArrayList<String> stringList = new ArrayList<String>(); //填充ArrayList- stringList.add("apples"); stringList.add("mangoes"); stringList.add("oranges"); //将字符串类型的数组列表转换为对象类型 ArrayList<Object> objectList = new ArrayList<Object>(stringList); //列出获得的列表的内容 Iterator<String> it = stringList.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } }
apples mangoes oranges