首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Findbug告诉我,我没有明显的理由将非负值与-1进行比较。

Findbug告诉我,我没有明显的理由将非负值与-1进行比较。
EN

Stack Overflow用户
提问于 2015-10-30 15:22:32
回答 1查看 1.1K关注 0票数 1

我有这样的代码,它在FindBugs中显示了以下错误:

代码语言:javascript
复制
Bug: Bad comparison of nonnegative value with -1 in hydra.extensions.drivers.eg2.internal.EG2GatewaySimulator$1.run()

This code compares a value that is guaranteed to be non-negative with a negative constant or zero. 

Rank: Scary (5), confidence: High
Pattern: INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE 
Type: INT, Category: CORRECTNESS (Correctness)

关于守则:

代码语言:javascript
复制
String receivedMessage = "";
char c;
boolean isValidChar;
do {
    c = (char) in.read();
    isValidChar = (c != '\r') && (c != -1);
    if (isValidChar) {
        receivedMessage += c;
    }
} while (isValidChar);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-30 15:26:06

字符值为16位,非负值:

char: char数据类型是单个16位Unicode字符.它的最小值为'\u0000‘(或0),最大值为'\uffff’(含65,535 )。

你在把它和-1比较。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33439412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档