当前位置: 代码网 > it编程>编程语言>Java > IDEA提示:Boolean method ‘xxx‘ is always inverted问题

IDEA提示:Boolean method ‘xxx‘ is always inverted问题

2024年08月05日 Java 我要评论
提示详情一个返回类型为布尔值的方法,被idea自动高亮,提示为boolean method 'xxx' is always inverted并提供一个invert method的解决方

提示详情

一个返回类型为布尔值的方法,被idea自动高亮,提示为

boolean method 'xxx' is always inverted

并提供一个invert method的解决方案。

一句话解释一下,就是:你这个方法返回值总是被取非(!)使用,为啥不直接返回一个取非后的值呢。

提示原因

idea进行语句了简洁性检查,因为在调用此方法时均对结果进行取非(! boolean)。

所以建议你干脆修改方法,让方法输出一个取非值,并改一下方法名。

/**
* 示例:一个人没钱的话,就给他安排上好的圈子
*/
private boolean isrich(man man){
    if (man == null){
        return false;
    }
    // 有存款不欠债
    if (man.getdeposit() == 0 || man.getdebt() != 0){
        return false;
    }
    // 有房有车
    return man.getcarnum() != 0 && man.gethousenum() != 0;
}
...

// 没钱的tom需要富豪做朋友
if (!isrich(tom)){
	tom.setfriend("富豪");
}
...
// 没钱的jerry需要马爸爸
if (!isrich(jerry)){
	jerry.setfather("爸爸");
}

所以idea建议你直接修改方法为:判定是不是穷。

点击其提供的invert method,输入新的方法名ispoor

在这里插入图片描述

idea会自动处理代码,输入前方法返回值取非的结果,并对方法被调用的地方进行修改。

原代码就会变成:

private boolean ispoor(man man){
    if (man == null){
        return true;
    }
    // 没存款还欠债
    if (man.getdeposit() == 0 || man.getdebt() != 0){
        return true;
    }
    // 没房没车
    return man.getcarnum() == 0 || man.gethousenum() == 0;
}
...
// 没钱的tom需要富豪做朋友
if (ispoor(tom)){
	tom.setfriend("富豪");
}
...
// 没钱的jerry需要马爸爸
if (ispoor(jerry)){
	jerry.setfather("马爸爸");
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com