gpt4 book ai didi

java - 方法 Collections.copy 的编译器错误

转载 作者:行者123 更新时间:2023-11-29 08:26:36 34 4
gpt4 key购买 nike

我编写此程序是为了将一个列表复制到另一个列表,但出现错误。在编译其他程序时,我也遇到了此 Collections.sort()Collections.copy() 的错误。谁能帮我解决这个问题?

import java.util.*;
import java.util.ArrayList;
import java.util.Collection;

class CopyList {

public static void main(String[] args) {

Collection<String> srcstr = new ArrayList<String>();

srcstr.add("New York");
srcstr.add("Atlanta");
srcstr.add("Dallas");
srcstr.add("Madison");
System.out.println("Number of elements: " + srcstr.size());
srcstr.forEach(s->System.out.println(s));
Collection<String> deststr = new ArrayList<String>();
deststr.add("Delhi");
deststr.add("Mumbai");
Collections.copy(srcstr,deststr);
deststr.forEach(s->System.out.println(s));
}

}

我得到的错误:

CopyList.java:17: error: method copy in class Collections cannot be applied to given types;
Collections.copy(srcstr,deststr);

^
required: List<? super T>,List<? extends T>

found: Collection<String>,Collection<String>

reason: cannot infer type-variable(s) T

(argument mismatch; Collection<String> cannot be converted to List<? super T>)

where T is a type-variable:

T extends Object declared in method <T>copy(List<? super T>,List<? extends T>)

最佳答案

用 arraylist 改变你的集合列表。

List<String> srcstr = new ArrayList<String>();
srcstr.add("New York");
srcstr.add("Atlanta");
srcstr.add("Dallas");
srcstr.add("Madison");

List<String> deststr = new ArrayList<String>();
deststr.add("Delhi");
deststr.add("Mumbai");

Collections.copy(srcstr, deststr);

关于java - 方法 Collections.copy 的编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52243283/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com