gpt4 book ai didi

java - (java) 无法检查 ArrayList 是否包含特定字符串

转载 作者:行者123 更新时间:2023-12-02 04:16:53 25 4
gpt4 key购买 nike

这个问题困扰了我好几个小时。我正在尝试检查 ArrayList 中的特定字符串。

这是我正在检查的ArrayList:

public ArrayList getAllowedPlayers() {
return this.allowedPlayers;
}

用户名将以小写形式添加到此列表中。

然后这就是我用来检查输入命令的玩家是否在列表中的方法:

 boolean addedToSSList = data.getAllowedPlayers().contains(astring[0].toLowerCase());

“data”指已输入的用户名的ArrayList(astring[0])。这是在另一个类(class)。然后我使用打印聊天消息来检查 boolean 值是 true 还是 false,在我的情况下总是返回 false。

        icommandsender.sendChatToPlayer("addedToList: "+addedToSSList);

但是,我可以看到输入的用户名已添加到列表中:

        icommandsender.sendChatToPlayer("Allowed players: "+data.getAllowedPlayers())

来自 icommandsender 的玩家是使用命令查看自己是否在 ArrayList 上的人。

所以基本上:我可以看到我输入的用户名位于 ArrayList 中(小写)。 astring[0] 是我输入的小写用户名。但我的 boolean 方法仍然会返回 false。

最佳答案

试试这个:

boolean addedToSSList = data.getAllowedPlayers().contains(astring[0].toLowerCase().trim());

字符串中可能有一些尾随空格。

编辑:

public boolean findString(String s, ArrayList<String> al){
for (String str : al){
if (str.equalsIgnoreCase(s)){
return true;
}
}
return false;
}

然后你可以找到类似

findString("myString", yourArrayList);

关于java - (java) 无法检查 ArrayList 是否包含特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33215178/

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