gpt4 book ai didi

java - 为什么我得到 "The left-hand side of an assignment must be a variable"?

转载 作者:太空宇宙 更新时间:2023-11-04 09:29:13 24 4
gpt4 key购买 nike

我正在制作一个“狗登记册”,您可以在其中保存有关狗的信息并对狗进行拍卖等。我是一个初学者,最近被告知数组列表应该是私有(private)的,这个信息给我带来了一些麻烦。

我有一个名为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 做一些它不能做的事情。

关于java - 为什么我得到 "The left-hand side of an assignment must be a variable"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57295159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com