There are several answers at the moment, but I agree with the Bohemian answer that the simplest simplification is (although it does not use ||):
if ( !set1.add(x) ) set2.add(x);
. , , . exp1 || exp2 - , , , . 14.8. , , , :
.
ExpressionStatement:
StatementExpression ;
StatementExpression:
Assignment
PreIncrementExpression
PreDecrementExpression
PostIncrementExpression
PostDecrementExpression
MethodInvocation
ClassInstanceCreationExpression
; , .
, , , , . , . ( ):
C ++ Java , . , Java "cast to void" - void - :
(void)... ;
. , Java void, . , (§15.26) (§14.4).
, Reik Val :
boolean temp = set1.add(x) || set2.add(x);