java - 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);
谢谢你的帮助。
解决方案
您不能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));
推荐阅读
- javascript - D3.js 中的数据操作
- python - django-rest-framework 中 django 外键字段的完整性错误
- sql - 如何在 SQL Server 数据库中使用函数/存储过程实现以下功能
- firebase - 有没有办法不创建新用户,只允许现有用户使用 firebase_auth 登录,谷歌登录?
- sql-server - 如何在 SQL 的 WHERE 条件中定义 IF 子句?
- python - 使用 eval() 时如何防止结果较大的错误?
- ios - 提要不一致时解码 JSON - Swift
- java - 如何将数组元素设置为等于单词中的字符数
- c++ - 将变量地址重铸为整数
- haskell - 无法在尾递归中强制严格