无法从 ArrayList 中删除字符串

为什么我不能从数组列表中删除它?


代码:


if(client.getChannelId() != 551) {

  TeamspeakBot.log.send("YES");

  TeamspeakBot.log.send(clientid);

  if(TeamspeakBot.supportQueue.contains(clientid)) {

    TeamspeakBot.log.send("YES2");

    TeamspeakBot.supportQueue.remove(clientid);

  }

} else {

  TeamspeakBot.log.send("NO");

}

输出:


https://hastebin.com/lafocuwuza.cs


FFIVE
浏览 85回答 1
1回答

开满天机

这将调用接口的remove(int index)方法List,而不是remove(Object o)由于您传入的参数而导致的重载(可能是您的 clientid 的类型是int)。这个决定是由编译器根据传入的参数做出的。所以如果你想调用后者,只需int像这样包装原语,TeamspeakBot.supportQueue.remove(Integer.valueOf(clientid));这将调用后一个版本并为您提供所需的结果。另一种选择是像这样进行显式转换,TeamspeakBot.supportQueue.remove((Integer) clientid);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java