gpt4 book ai didi

java - 为什么 IntelliJ IDEA 认为我的 Boolean 方法总是被反转,而实际上却不是?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:37 25 4
gpt4 key购买 nike

我刚开始使用 IntelliJ Idea,我有以下代码:

private boolean verifyToken(TokenTypeEnum expectedTokenType, Token token) {
return token != null &&
token.getTokenType() == expectedTokenType &&
token.getExpiryDate().isAfter(Instant.now());
}

现在 IntelliJ-IDEA 提示这个 boolean 方法总是被反转。但是我专门编写了该方法,因此它返回一个正数,我不想制作一个方法 isInvalidToken 或类似的东西。我相信这个警告的重点实际上是为了避免诸如此类的负面影响。

此外,如果我真的让 IntelliJ 自动反转该方法,它会生成这样的表达式,这完全不是我想要的,因为它更难推理(即使我会重写日期比较)

private boolean newNegativeMethod(TokenTypeEnum expectedTokenType, Token token) {
return token == null ||
token.getTokenType() != expectedTokenType ||
!token.getExpiryDate().isAfter(Instant.now());
}

为什么要这样做?我当然可以禁用警告,但我宁愿不这样做。

最佳答案

“总是反转”意味着在所有调用方法的地方,!运算符应用于调用表达式。 IntelliJ IDEA 不知道从语义的角度来看这是否很难或容易推理;它只是执行句法分析。如果您认为反转方法会使代码更难理解,只需取消对该方法的检查即可。

关于java - 为什么 IntelliJ IDEA 认为我的 Boolean 方法总是被反转,而实际上却不是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49006137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com