...
This compliant solution casts the second operand to type short
, then explicitly invokes the Short.valueOf()
method to create a Short
instance whose value is i - 1
. Consequently, the second and third operands of the conditional expression both have type Short
, and the remove()
call has the expected result.
...
Writing the conditional expression as ((i & 1% 2) == 01) ? (short) (i-1)) : workingVal
also complies with this guideline because both the second and third operands in this form have type short
. However, this alternative is less efficient because it forces unboxing of workingVal
on each even iteration of the loop and autoboxing of the result of the conditional expression (from short
to Short
) on every iteration of the loop.
...