[英]Why do I get “The left-hand side of an assignment must be a variable”?
我正在做一个“狗登记”,您可以在其中保存有关狗的信息以及对狗进行拍卖等竞标。我是一个初学者,最近被告知阵列列表应该是私有的,此信息使我有些麻烦。
我有一个名为Auction
的类,您可以在其中存储出价,我在该类中创建了一个get方法供主类使用。 它适用于除我可以删除用户的方法中的每一行以外的所有行。
private void deleteUser()
{
System.out.println("Enter the name of the user: ");
String name = input.nextLine().toLowerCase().trim();
User deleteUser = getUser(name);
while (name.isEmpty()) {
System.out.println("Error. Enter the name of the user: ");
name = input.nextLine().toLowerCase().trim();
deleteUser = getUser(name);
}
if (deleteUser == null) {
userException();
return;
}
for (Auction a : auctionRegister) {
ArrayList<Bid> bids = new ArrayList<>();
for (Bid b : a.getBidList()) {
if (b.getUser() != deleteUser) {
bids.add(b);
}
}
a.getBidList() = bids;
}
if (deleteUser.getDogList() != null) {
for (Dog dog : deleteUser.getDogList()) {
dogRegister.remove(dog);
}
}
userRegister.remove(deleteUser);
System.out.println("User " + deleteUser.getUserName() + " is removed");
}
我在这行上收到错误消息(“分配的左侧必须是变量”):
a.getBidList() = bids;
当我将数组列表公开时,一切正常,所以我的问题是,如何解决这个问题?
Java有两种存储信息的“存储桶”。 一种是变量 ,另一种是常数 。 两种品种都可以让您在存储桶中查看内容。 变量还允许您替换存储桶中的当前内容。
您的语法a.setBidList()
是一个方法调用,它是恒定的。 您可以读取它,但不能为其分配新值。 由于您将其放在赋值语句的左侧,因此您正在要求Java做它不能做的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.