私は使用しようとしていますか?どのメソッドを呼び出すかを決定しますが、変数を割り当てる必要はありません。私の質問: 変数を割り当てずに三項演算子を使用する方法はありますか?
(something i dont need) = (x == 1)? doThisMethod():doThatMethod()
それ以外の
if(x == 1) {
doThisMethod()
} else {
doThatMethod()
}
これは、三項演算子の意図された用途ではないため、機能しません。
本当に1行にしたい場合は、次のように書くことができます:
if (x==1) doThisMethod(); else doThatMethod();
これがうまくいくとは思えません。JLS§15.25では、3項式を次のように定義しています。
ConditionalExpression:
ConditionalOrExpression
ConditionalOrExpression ? Expression : ConditionalExpression
そして、aConditionalExpression
はそれ自体ではありませんStatement
。ただし、他のさまざまな場所で使用できますAssignment
。
AssignmentExpression:
ConditionalExpression
Assignment
Assignment:
LeftHandSide AssignmentOperator AssignmentExpression
Java 言語仕様の §14.8「式ステートメント」によると、ステートメントとして単独で使用できる唯一の式は次のとおりです。