java - 不需要将代码片段转换为另一种语言 = op?

标签 java c++ converters equals equality

我有一个 C/C++ 代码的函数,我希望将其转换为 Java,但由于对该语言的了解很少,我不太确定它试图做什么。

public P unknown(int min1, int max1, int min2, int max2)
{
  this._a = this._a < min1 ? min1 : this._a;
  this._a = this._a > max1 ? max1 : this._a;
  this._b = this._b < min2 ? min2 : this._b;
  this._b = this._b > max2 ? max2 : this._b;
  return this;
}

我想知道的是为什么

this._a = this._a

这不是多余的吗? 代码是否应该在 Java 中执行以下操作?

public P unknown(int min1, int max1, int min2, int max2)
{
  this._a < min1 ? this.a = min1 : this.a = this._a;
  this._a > max1 ? this.a = max1 : this.a = this._a;
  this._b < min2 ? this.b = min2 : this.b = this._b;
  this._b > max2 ? this.b = max2 : this.b = this._b;
  return this;
}

最佳答案

this._a = this._a 在任何地方都没有作为完整的语句出现。该表达式是包含三元运算符的语句的一部分

this._a = this._a < min1 ? min1 : this._a;

所以这个声明实际上并不是多余的。

阅读:The Conditional (or Ternary) Operator (?:)

关于java - 不需要将代码片段转换为另一种语言 = op?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20694164/

相关文章:

c++释放数组指针的内存

html - 如何将 HTML 转换为 JSX (React.js)

python - 将眼动追踪 .edf 文件转换为 ASC/CSV 格式

java - 关于cql过滤器

java - 我应该如何获取相关实体?

java - 如何指定Java BufferedImage调整大小的行为: need min for pixel rows instead of averaging

c++ - 在 C++ 中创建一个只有用户可以查看和编辑该文件的权限的文件

c++ - OpenCV 尝试将 ARtoolkit 与 OpenCV 集成

java - 作为参数传递给 Eclipse 中 main 方法的字符串数组的大小

ios - long long Number div 错误