如何在 Java 中将 ArrayList<String> 转换为 ArrayList<Object>,反之亦然?


ArrayList<String> 转换为 ArrayList<Object>

除了泛型中的类型化参数(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[]) {
   
      //Instantiating an ArrayList object
      ArrayList<Object> list = new ArrayList<Object>();
	  
      //populating the ArrayList
      list.add("apples");
      list.add("mangoes");
      list.add("oranges");
	  
      //Converting the Array list of object type into String type
      ArrayList<String> stringList = 
         (ArrayList<String>)(ArrayList<?>)(list);
	  
      //listing the contenmts of the obtained list
      Iterator<String> it = stringList.iterator();
      while(it.hasNext()) {
         System.out.println(it.next());
      }
   }
}

输出

apples
mangoes
oranges

ArrayList<Object> 转换为 ArrayList<String>

要将 ArrayList<Object> 转换为 ArrayList<String> -

  • 创建一个/获取一个字符串类型的 ArrayList 对象。

  • 通过将上述获取到的/创建的对象作为其构造函数的参数传递,创建一个新的对象类型的 ArrayList 对象。

示例

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class ArrayListExample {
   public static void main(String args[]) {
   
      //Instantiating an ArrayList object
      ArrayList<String> stringList = new ArrayList<String>();
	  
      //populating the ArrayList
      stringList.add("apples");
      stringList.add("mangoes");
      stringList.add("oranges");
	  
      //Converting the Array list of String type to object type
      ArrayList<Object> objectList = new ArrayList<Object>(stringList);
	  
      //listing the contents of the obtained list
      Iterator<String> it = stringList.iterator();
      while(it.hasNext()) {
         System.out.println(it.next());
      }
   }
}

输出

apples
mangoes
oranges

更新于:07-6-2024

792 次浏览