我有一个名为election()的arraylist。为什么没有代码重新分配名称变量应该如此。
_busMock.Verify(_ => _.Publish(It.IsAny<DeviceRegistrationCompletedEvent>(), Is.IsAny<PublishOptions>()));
答案 0 :(得分:1)
您错误地比较了if语句中的字符串。而不是c.name == oldName
,它应该是c.name.equals(oldName)
。
此外,您将新名称分配给错误的对象。
而不是elections.get(0).name = newName
,它应该是c.name = newName
,因为c是对存储在ArrayList中的对象的引用。对c所做的更改将反映在您的列表中。您当前的代码更改了ArrayList中第一个候选项的名称,因为您始终使用0而不是i调用get()。