java - Queue.poll() 的效果

标签 java findbugs

我正在尝试更正外部项目中 Eclipse 中的 FindBugs 插件发现的一些错误,但出现以下错误:

Method ignores return value

在这段代码中:

int maxSize;
Queue<e> queue;

(...)

while (queue.size() > maxSize) {
    queue.poll();
}

不幸的是,这超出了我的知识范围,我想知道 poll() 方法除了返回 E 类型的对象外还有什么效果?如果我只删除这段代码可以吗?

最佳答案

poll() 方法将删除当前位于队列头部的对象并将其作为结果返回。

在列出的代码中删除 poll() 将意味着 while 循环将无休止地运行,因为您永远不会通过从中删除元素来更改队列长度。

FindBugs 警告意味着您正在调用一个返回类型不是 void 的方法,并且您没有将结果分配给另一个变量或在表达式中使用它。我不会修改代码,而是尝试使用注释抑制警告或忽略整个警告。

关于java - Queue.poll() 的效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33568727/

相关文章:

java - 避免警告 "boxing immediately unboxed to perform coercion"

findbugs pmd checkstyle cobertura 的 Maven sonar 插件配置

java - 如何计算有符号随机整数的绝对值

java - ajax调用的生命周期是多少?

java - 在 Excel 2007 中打开 CSV 文件时,任何列中的前导零都会丢失

java - 无法在 Eclipse 中导出 Android 应用程序

java - findbugs 显示 sessionFactory 为 null 保证被取消引用

java - 如何在 Sonarqube 中导入 findbugs/PMD

java - 字符串的内存和速度高效搜索

java - 如何在 Android 中执行网页抓取?