集合接口



我想创建一个 ArrayList 对象来使用 Collection 接口。但是我的代码有问题。它说

I use checked and unsafe operation, please use -Xlint: unchecked to restart compile.

我想知道如何解决这个问题。

下面是我的java代码:

import java.util.*;
public class testCollection{
public static void main(String[] args) {
ArrayList<String> collection1 = new ArrayList<>();
collection1.add("New York");
collection1.add("Atalnta");
collection1.add("Dallas");
collection1.add("Madison");
System.out.println("A list of cities in collection1:");
System.out.println(collection1);
System.out.println("nIs Dallas in collection1?"
+collection1.contains("Dallas"));

Collection<String> collection2 = new ArrayList<>();
collection2.add("Seattle");
collection2.add("Portland");
collection2.add("Los Angeles");
collection2.add("Atalnta");
System.out.println("nA list of cities in collection2:");
System.out.println(collection2);
ArrayList<String> c1 = (ArrayList<String>)(collection1.clone());
c1.addAll(collection2);
System.out.println("nCities in collection1 or collection2?");
System.out.println(c1);
}
}

你的问题出在以下行上:

ArrayList<String> c1 = (ArrayList<String>)(collection1.clone());

它返回一个对象,然后你正在将其强制转换为 ArrayList。

将集合转换为 ArrayList 的正确方法是:

ArrayList<String> c1 = new ArrayList<String>(collection1);

最新更新