0
私が考えていた期待通りに動作しませんtrue
、またはerrorMsgがfalse
の場合は2つの要素が必要です。 errorMsg
がtrue
またはfalse
であるかどうかは、後者の2つの要素で常にString[]
を初期化します。なぜこれが起こるのですか?三項演算子は、動的に、このように三項演算子を使用してJavaで配列を初期化について
私が考えていた期待通りに動作しませんtrue
、またはerrorMsgがfalse
の場合は2つの要素が必要です。 errorMsg
がtrue
またはfalse
であるかどうかは、後者の2つの要素で常にString[]
を初期化します。なぜこれが起こるのですか?三項演算子は、動的に、このように三項演算子を使用してJavaで配列を初期化について
どうしてですか?
errorMsg ? "single_element" : "1st_element"
は文字列に変換され、別の文字列が既に"2nd_element"
になっているためです。
内部に要素を持たない配列自体の初期化の場所にif elseが必要です。
String[] elements = errorMsg? new String[] { "single_element" } : new String[] { "1st_element", "2nd_element" };
しかし、私は
String[] elements = null;
if (errorMsg) {
elements = new String[] { "single_element" };
} else {
elements = new String[] { "1st_element", "2nd_element" };
}
ありがとう書くことを好むだろう幸せな私のjunioursの開発者を保つために、私ははっきりと理解しました。後者の要素を "1st_element"、 "2nd_element" '"と一緒に返すことができたと思っていました。コンマが私を混乱させました。 – another