gpt4 book ai didi

java - 无法推断 ArrayList<> 的类型参数

转载 作者:行者123 更新时间:2023-12-05 01:00:33 26 4
gpt4 key购买 nike

我正在尝试创建一个包含另一个类的对象、名称和转弯的 ArrayList。类似于 python 的字典。

self.user1 = {"user":user1,"name":empty,"turn":empty}

所以我创建了一个具有 3 个值的类。

class User{
public userInterface user1;
String name;
String turn;

public User(UserInterface user1,String name,String turn) {
this.user1=user1;
this.name=name;
this.turn=turn;
}}

我正在尝试在主类的构造函数中调用它,如下所示:

public class MainClassConstructon{
ArrayList<User> user1;
ArrayList<User> user2;

MainClassConstructon(UserInterface user1 ,UserInterface user2){
this.user1 = new ArrayList<>(new User(user1,empty, empty));
this.user2 = new ArrayList<>(new User(user2,empty, empty));

但它会引发一个错误,指出:无法推断 ArrayList<> 的类型参数。

最佳答案

ArrayList 有三个构造函数:

public ArrayList(int initialCapacity)
public ArrayList()
public ArrayList(Collection<? extends E> c)

User 既不是 int 也不是 Collection,并且您正在传递一个参数,因此中间构造函数也不适用。

但这不是重点,您的目标是创建一个用户列表,因此您不需要做您当前正在做的事情,只需使用一个列表,然后简单地添加您的用户:

public class MainClassConstructon{
List<User> users; // Or ArrayList, doesn't really matter

MainClassConstructon(UserInterface user1 ,UserInterface user2){
users = new ArrayList<>(); // Diamond syntax, requires Java 7+
users.add(new User(user1, "", ""));
users.add(new User(user2, "", ""));
}
}

关于java - 无法推断 ArrayList<> 的类型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48986402/

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