java - 这个 if/else 语句可以减少或改进吗?

标签 java if-statement inline reduce

我有许多从具有此功能的基类扩展而来的类:

public boolean setVal(int v) {
    if (val != v) {
        val = v;
        return true;
    }
    return false;
}

由于我有很多类,我想让这个声明尽可能高效。我试过这个:

public boolean setVal(int v) {
    return val == v ? false : (val = v | true);
}

但是,我想我不能像这样内联更改 val 。 (我对 Java 很陌生)

可以提高效率吗?

最佳答案

public boolean setVal(int v) {
    return val != (val = v);
}

执行以下操作:

  1. 设置valv
  2. return如果旧值与新值不同

val将始终设置为 v ,但这没问题,因为 if val等于 v , val不会改变。

关于java - 这个 if/else 语句可以减少或改进吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59901237/

相关文章:

java - Eclipse - 如何从子文件夹创建源文件夹而不让 Eclipse 查找错误的包名称?

php - PHP 检查 if 语句有多远?

Java-打破内部循环

java - 使用 joda 格式化某些时间跨度时的奇怪现象

java - 如何在 Android Studio 中正确创建从 AAR 导入的 Android 库模块?

java - 如何在jar文件中使用类文件?

if-statement - 解析 Haskell 代码中输入 ‘if’ 的错误

c++ - 内联函数联动

C++ 继承 : Calling Base Class Constructor In Header

haskell - 为什么添加 INLINE 会减慢我的程序