【发布时间】:2020-12-09 15:09:55
【问题描述】:
在以下循环中,我如何创建一个新的 List(),但在我尝试设置值时遇到了问题:
ListlistOfString = new ArrayList(); listOfString.set(index, value);
谁能解释一下它是如何工作的?
【问题讨论】:
-
你只能给变量赋值,但是方法返回values而不是变量。即使你有像
int x = 1; int getX(){ return x;}这样的方法并且你尝试调用getX(),它也会返回值2而不是*variable 不是变量x。这就是announcementDTO.get(j) = new ArrayList<>();和announcementResultBean.get(i) = new ArrayList<>();的问题 -
我该如何解决它@Pshemo?
-
你可以使用
list.set(index, newValue)。 -
它不起作用@Pshemo,现在错误是: List
类型中的方法 set(int, noticeDTO) 不适用于参数 (int, new ArrayList( )) -
如果您的列表声明为
List<announcementDTO>,则意味着它应该只包含announcementDTO实例(或其子类型)。为什么要将ArrayList放在那里?这就像尝试将cat与dogs 一起放在框中...