三項演算子を使用して初期化配列
-
22-09-2019 - |
質問
私はこのような何かを試してみました。
boolean funkyBoolean = true;
int array[] = funkyBoolean ? {1,2,3} : {4,5,6};
しかし、このコードでもコンパイルされません。
このため任意の説明がありますか?有効な式を funkyBoolean ? {1,2,3} : {4,5,6}
されていませんか?
事前にの感謝!
解決
あなただけの非常に限られた状況で{1, 2, 3}
構文を使用することができ、これはその一つではありません。これを試してください:
int array[] = funkyBoolean ? new int[]{1,2,3} : new int[]{4,5,6};
はところで、良いJavaのスタイルはとして宣言を書くことです
int[] array = ...
編集:記録のために、{1, 2, 3}
がそのように制限されていることの理由は、その型があいまいであるということです。理論的には、整数、long型、浮動小数点数、等の配列とすることができるほかに、それはその
他のヒント
boolean funkyBoolean = true;
int[] array = funkyBoolean ? new int[]{1,2,3} : new int[]{4,5,6};
所属していません StackOverflow