gpt4 book ai didi

java - 赋值的左侧必须是变量

转载 作者:行者123 更新时间:2023-11-30 02:26:06 25 4
gpt4 key购买 nike

我有一个问题,我相信这可能是一个简单的修复,但我目前陷入困境。

我尝试环顾四周,但找不到任何有用的东西。

这是我的错误:赋值的左侧必须是变量

Code error picture here aswell

这是我的代码:

} else if (token.equals("character-rights")) {
player.getRights().ordinal() = Integer.parseInt(token2);


public enum PlayerRights {

PLAYER(true, true, true, true, false, 60),
MODERATOR(true, true, true, true, false, 0),
ADMINISTRATOR(false, false, false, false, false, 0),
DEVELOPER(true, true, true, true, true, 0),
DONATOR(true, true, true, true, true, 10);

private boolean canTrade, canDuel, canPk, canSell, debugMode;
private int yellTimer;

private PlayerRights(boolean canTrade, boolean canDuel, boolean canPk, boolean canSell, boolean debugMode, int yellTimer) {
this.canTrade = canTrade;
this.canDuel = canDuel;
this.canPk = canPk;
this.canSell = canSell;
this.debugMode = debugMode;
this.yellTimer = yellTimer;
}

private static final ImmutableSet<PlayerRights> STAFF = Sets.immutableEnumSet(ADMINISTRATOR, DEVELOPER);
private static final ImmutableSet<PlayerRights> MEMBERS = Sets.immutableEnumSet(MODERATOR, ADMINISTRATOR, DEVELOPER, DONATOR);
private static final ImmutableSet<PlayerRights> NORMAL = Sets.immutableEnumSet(PLAYER, DONATOR);

public boolean isStaff() {
return STAFF.contains(this);
}

public boolean isMember() {
return MEMBERS.contains(this);
}

public boolean isPlayer() {
return NORMAL.contains(this);
}

public boolean canTrade() {
return canTrade;
}

public boolean canDebug() {
return debugMode;
}

public boolean canSell() {
return canSell;
}

public boolean canDuel() {
return canDuel;
}

public boolean canPk() {
return canPk;
}

public int getYellTimer() {
return yellTimer;
}

}

public PlayerRights playerRights;

public PlayerRights getRights() {
return playerRights;
}

最上面的代码是发生错误的地方。我真的很感激一些帮助,这会让我很开心。

最佳答案

枚举是不可变的。您需要重新分配一个新的枚举值,而不是编写诸如

之类的内容
myEnum.ordinal() = 0;

您必须编写一个 switch 语句来检查 Integer.parseInt(token2) 是什么,并使用 setRights 方法。

switch (Integer.parseInt(token2)) {
case 0:
player.setRights(PlayerRights.PLAYER);
break;
case 1:
player.setRights(PlayerRights.MODERATOR);
break;
case 2:
player.setRights(PlayerRights.ADMINISTRATOR);
break;
case 3:
player.setRights(PlayerRights.DEVELOPER);
break;
case 4:
player.setRights(PlayerRights.DONATOR);
break;
}

如果您的 player 类没有 setRights 方法,您可能应该添加一个。

关于java - 赋值的左侧必须是变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45648917/

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