効率的なJavaコードの作成を手伝ってください。Java:stmtの場合は単一行の3進演算子
ロジックは次のとおりです。 ファイル内の最初の有効なレコードを読み取り、ファイル名を生成する必要があります。無効な/有効なレコードは、行の最初の2文字で識別されます。無効なレコードの最初の2文字は、ignoreTransという名前のArrayListに格納されます(引数として渡されます)。
2つのシナリオがあります: - シナリオ1:ファイル内のすべてのレコードが、この場合に有効であるignoreTransは シナリオ2空になります:ファイルがignoreTransが渡された引数から移入された無効なレコードを持っています。
は、私は三項演算子以下のように書きたかった:FileName = ignoreTrans.isEmpty() ? getFileName(pos) : (if (!ignoreTrans.contains(line.substring(0,2))) getFieldName(pos));
この文はerroringされます。 ifと一緒にternaryを使用する方法を提案できますか?
は、
別の三項演算子を使用するだけですか? – Dukeling
"stmtなら1行の3進演算子" - > 1つの質問:なぜ 'if'を1行に入れるのですか? – Turing85
三項演算子は、for文ではなく式で動作します。 – clemens