Java - 在三元运算符中分配变量 - 意外类型错误

Java - Assigning variable in ternary operator - unexpected type error

我对编码和 Java 比较陌生。我正在尝试使用三元运算符代替我的一些“if”语句。 当我将下面的代码编码为 if/else 时,它工作正常,但是当我 运行 时,我得到

unexpected type
required: variable
found:    value line:3

能不能不用三元赋值,还是我做错了?提前致谢!

  int front;
  nums.length>4 ? front = 4 : front = nums.length;

在Java中,三元运算符是一个“赋值”运算符,这意味着必须将运算结果“始终”赋给一个变量。
目标变量位于符号“=”的左侧(像往常一样),而运算符位于右侧。 正如您所说,它只是作为 if/else。结构是这样的:

<destination_variable> = <condition> ? <value_if_cond_true> : <value_else>

因此,在您的特定情况下,三元运算符将编写如下:

int front = nums.length > 4 ? 4 : nums.length;