【发布时间】:2016-01-17 20:16:56
【问题描述】:
这个问题我已经被困了好几个小时了。 我正在尝试检查特定字符串的 ArrayList。
这是我正在检查的 ArrayList:
public ArrayList getAllowedPlayers() {
return this.allowedPlayers;
}
用户名以小写形式添加到此列表中。
然后这是我用来检查输入命令的玩家是否在列表中:
boolean addedToSSList = data.getAllowedPlayers().contains(astring[0].toLowerCase());
“data”是指已输入的用户名的ArrayList(astring[0])。这是另一个班级。 然后我使用打印聊天消息来检查布尔值是真还是假,在我的情况下总是返回假。
icommandsender.sendChatToPlayer("addedToList: "+addedToSSList);
但是,我可以看到输入的用户名已添加到列表中:
icommandsender.sendChatToPlayer("Allowed players: "+data.getAllowedPlayers())
来自 icommandsender 的玩家是使用命令查看他是否在 ArrayList 上的人。
所以基本上: 我可以看到我输入的用户名在 ArrayList 上(小写)。 astring[0] 是我输入的小写用户名。但是我的布尔方法仍然会返回 false。
【问题讨论】:
-
也许你有你看不到的前导/尾随空格。
-
这样做
astring[0].toLowerCase().trim()
标签: java string arraylist contains