我的问题:
al.get(i).setName()=arr[i];
这被认为是无效的,因为左手边应该只包含一项任务。 那么如何存储值呢?
答案 0 :(得分:6)
尝试
al.get(i).setName(arr[i]);
如果查看代码,您可能会看到setName
方法采用参数。我假设arr
包含相同类型的参数。
答案 1 :(得分:0)
方法名称setName()
意味着此方法接受名称作为参数(这是setter方法的约定)。因此,您应该使用以下方法调用此方法:
al.get(i).setName(arr[i]);
我注意到您在使用al.get(i)
时收到异常的评论。这个表达式可能抛出两个例外。如果al
未初始化,您将获得NullPointerException
。解决这个问题的方法是使用al = new ArrayList<>();
初始化al。如果您尝试访问无效索引(即i >= al.size()
),则会获得IndexOutOfBoundsException
。在这种情况下,您应该在致电i < al.size()
之前确保al.get(i)
。