首页 > 解决方案 > ArrayList 添加私有访问错误

问题描述

我正在尝试创建一个使用用户输入的变量创建的数组列表。它是在 switch 语句中创建的,在将数据添加到数组列表时,我收到了关于 add 语句的错误。

add(java.lang.String, java.lang.Object[], int) has private access in java.util.ArrayList

下面的代码:

String stringE30 = Integer.toString(ratingE30);
String stringE36 = Integer.toString(ratingE36);
String stringE46 = Integer.toString(ratingE46);
String stringE92 = Integer.toString(ratingE92);
String stringF80 = Integer.toString(ratingF80);

ArrayList<String> arrayListToFile = new ArrayList<>();
arrayListToFile.add("E30", "1985", stringE30);
arrayListToFile.add("E36", "1992", stringE36);
arrayListToFile.add("E46", "2000", stringE46);
arrayListToFile.add("E92", "2007", stringE92);
arrayListToFile.add("F80", "2014", stringF80);

谢谢你的帮助。

标签: javaarraysarraylist

解决方案


您不能add使用 3 个参数调用。

IDE 假设您要调用add具有 3 个参数的版本,但它是私有的,因此会引发错误。

您必须将数据包装在一个类中并将其添加到您的列表中:

public class Data {
   private String name;
   private String year;
   private String rating;

   public Data(String name, String year, String rating) {
    this.name = name; 
    this.year = year;
    this.rating = rating;
   }
}

然后,您通过以下方式添加到您的列表中:

List<Data> arrayListToFile = new ArrayList<>();

arrayListToFile.add(new Data("E30", "1985", stringE30));

推荐阅读