if-else优化和陷阱?

che*_*rit 3 java optimization if-statement

我有两个简单的代码片段.节点1没有其他条件.逻辑上两个片段服务于相同的目的.

如果我要在我的程序中选择两个片段,我想知道是否有任何问题或任何优化改进?

片段1

public boolean isOauthTokenValid(long oauthExpiryTimestamp){

    if (oauthExpiryTimestamp >= System.currentTimeMillis()){
        return true;
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

片段2

public boolean isOauthTokenValid(long oauthExpiryTimestamp){

    if (oauthExpiryTimestamp >= System.currentTimeMillis()){
        return true;
    }
    else {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

这会在字节码级别进行优化吗?

rge*_*man 16

与分配if完全.您可以直接使用比较结果:

return (oauthExpiryTimestamp >= System.currentTimeMillis());
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!在编程风格方面,不使用这个成语是我最大的烦恼之一. (4认同)