有這個問題,我一直堅持了幾個小時。 我想檢查一個ArrayList的特定字符串。(java)無法檢查ArrayList是否包含特定的字符串
我這是在檢查的ArrayList:
public ArrayList getAllowedPlayers() {
return this.allowedPlayers;
}
的用戶名的get小寫添加到這個列表。
那麼這就是我用它來檢查,如果玩家輸入的命令就行了:
boolean addedToSSList = data.getAllowedPlayers().contains(astring[0].toLowerCase());
「數據」是指已輸入的用戶名的ArrayList的(ASTRING [0]) 。哪一個在另一個班級。 然後我使用打印聊天消息來檢查布爾值是否變爲真或假,在我的情況下總是返回false。
icommandsender.sendChatToPlayer("addedToList: "+addedToSSList);
不過,我可以看到,輸入用戶名,添加到列表中有:
icommandsender.sendChatToPlayer("Allowed players: "+data.getAllowedPlayers())
玩家從icommandsender是使用命令,看他是在ArrayList中的人。
所以基本上: 我可以看到,我輸入的用戶名是在ArrayList(小寫)。 astring [0]是我輸入的小寫的這個用戶名。但我的布爾方法仍然會返回false。
也許你前/後間隔,你看不到。 – Andreas
做這個'astring [0] .toLowerCase()。trim()' –