私はこのようなことを試しました:
boolean funkyBoolean = true;
int array[] = funkyBoolean ? {1,2,3} : {4,5,6};
しかし、このコードはコンパイルさえしません。これについて何か説明はありますか?は funkyBoolean ? {1,2,3} : {4,5,6}
有効な表現ではありませんか? 前もって感謝します!
私はこのようなことを試しました:
boolean funkyBoolean = true;
int array[] = funkyBoolean ? {1,2,3} : {4,5,6};
しかし、このコードはコンパイルさえしません。これについて何か説明はありますか?は funkyBoolean ? {1,2,3} : {4,5,6}
有効な表現ではありませんか? 前もって感謝します!
{1, 2, 3}
この構文は非常に限られた状況でのみ使用できますが、これはその 1 つではありません。これを試して:
int array[] = funkyBoolean ? new int[]{1,2,3} : new int[]{4,5,6};
ちなみに、適切な Java スタイルは、宣言を次のように記述することです。
int[] array = ...
編集:記録のために、{1, 2, 3}
非常に制限されている理由は、その型があいまいであるためです。理論的には、integer、long、float などの配列である可能性があります。さらに、JLS で定義されている Java 文法では禁止されているため、それで十分です。
boolean funkyBoolean = true;
int[] array = funkyBoolean ? new int[]{1,2,3} : new int[]{4,5,6};