当前位置: 首页 > 知识库问答 >
问题:

无法推断数组列表的类型参数

宦炜
2023-03-14

我试着做一个ArrayList,包含另一个类的对象,一个名字,还有turn。类似于python字典的东西。

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

所以我做了一个有三个值的类。

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的类型参数

共有3个答案

公孙芷阳
2023-03-14

你可以像这样尝试

public class MainClassConstructon {
    ArrayList<User> user1 = new ArrayList<>();
    ArrayList<User> user2 = new ArrayList<>();

    MainClassConstructon(UserInterface user1, UserInterface user2) {
        this.user1.add(new User(user1, "", ""));
        this.user2.add(new User(user2, "", ""));
    }
}
酆景辉
2023-03-14

我是这样做的:

this.user1 = new ArrayList<>(Arrays.asList(new User(user1,empty, empty)));

并且能够通过以下方式访问它:

t.user1.get(0).name="bla bla";
唐健
2023-03-14

数组列表有三个构造函数:

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.lang 中的异常:未解决的编译问题:无法推断排序器的类型参数 对于该代码: 分拣机类: 可比接口: id比较器类: 比较器接口: 这样用有什么错?我怎样才能做得更好?

  • 我仍然在玩我的日历,我已经设法将 https://github.com/SundeepK/CompactCalendarView 整合到我的一个片段中。只剩下一个错误,我做了一些研究,其他人也遇到了问题,例如使用ArrayList 示例代码: IDE说: 注:C:...\Uebersicht.java使用或覆盖不推荐使用的API。注意:用-Xlint:deprecation重新编译以获得详细信息。

  • 我需要 Kotlin 中的一个集合来仅包含实现给定接口的元素。 例如:包含动物集合的地图: 通过阅读文档、博客和SO问题,我编写了使用Generics in关键字的代码: 现在我想在Test类中添加一个读取“data”内容的方法,例如将其打印到控制台: 如果我这样做,我会遇到编译错误: 我的解决方案是强制我的动物进入一个ArrayList 但是我不确定这是编写这种代码的最好方式。有没有更好的方式告

  • 我想实现Spring endpoint,在其中我可以返回XML对象< code > notification echo response 和http状态代码。我试过这个: 但是我收到错误:

  • 我使用一个密封类从网络返回数据。但是当我在构建这个项目时,我得到了以下错误 类型推断失败:没有足够的信息来推断参数T in fun error(错误消息:String,错误:Throwable):状态请明确指定它。 我错过了什么? 这是代码

  • 这段代码适用于字符串和整数,但不适用于浮点。我想知道为什么? 这是课堂 这是主要方法