形式1:
Object[] params = null; params = {1, 2, 3, 4};
形式2:
Object[] params = {1, 2, 3, 4};
形式3:
Object[] params = new Object[]{1, 2, 3, 4};
1.为什么第一种形式就是错的(编译阶段就报错),而第二种就可以呢?(第三种很显然)2.第二种和第三种,哪种初始化方式更优呢?(或者有更好的?)
欢迎选择我的课程,让我们一起见证您的进步~~
まず、配列の初期化を使用するときに配列の長さを決定する必要があります。これは、配列の長さが不変であることを意味します。 JAVA で配列を作成するには 2 つの方法があります: (1) などの 静的作成
(2)1 などの
2
3
そして質問者が言及した方法:
エラー 1: 空の配列 params を直接作成しています。つまり、空であり、この時点で配列の長さを変更することはできません。当然、空の配列には何も追加できません。何かがうまくいかないでしょう。上で説明した 2 番目の方法と同じことを行い、長さ 4 の配列を再作成し、新しい配列のアドレスを params に指定する必要があります。つまり、Object[] params = null; 4]; この方法で作成できます。 エラー 2: 配列の初期化は、定義が完了した後にのみ連続して追加できます。
その後、データを追加したい場合は、配列の添え字に従って 1 つずつ追加するだけです。
ただし、直接ではありません params = {1, 2, 3, 4};
フォーム 1
この宣言メソッドは、実際には Java 初期化配列の 構文シュガー です。いわゆる構文シュガーは、実際の実行では、Java によってフォーム 3 に変換されます。 、
Java はフォーム 2 のような糖衣構文を提供していないため、この方法で使用することは違法です。
リーリー
A. 投稿者はあまり心配する必要がない構文が規定されています。B. 配列の要素が事前にわかっている場合は、Object[] params = {1, 2, 3, 4}; を使用して配列コードを宣言する方が簡潔です。それ以上の言い方はありません。
最初の宣言方法は間違っています Object[] params = new Object[length] である必要があります
2枚目は私が普段使っているものです
まず、配列の初期化を使用するときに配列の長さを決定する必要があります。これは、配列の長さが不変であることを意味します。
リーリーJAVA で配列を作成するには 2 つの方法があります:
(1) などの 静的作成
(2)1
の動的作成 リーリーなどの
2
リーリー3
リーリーそして質問者が言及した方法:
リーリーエラー 1: 空の配列 params を直接作成しています。つまり、空であり、この時点で配列の長さを変更することはできません。当然、空の配列には何も追加できません。何かがうまくいかないでしょう。上で説明した 2 番目の方法と同じことを行い、長さ 4 の配列を再作成し、新しい配列のアドレスを params に指定する必要があります。つまり、Object[] params = null; 4]; この方法で作成できます。
リーリーエラー 2: 配列の初期化は、定義が完了した後にのみ連続して追加できます。
その後、データを追加したい場合は、配列の添え字に従って 1 つずつ追加するだけです。
リーリーただし、直接ではありません params = {1, 2, 3, 4};
フォーム 1
リーリーこの宣言メソッドは、実際には Java 初期化配列の 構文シュガー です。いわゆる構文シュガーは、実際の実行では、Java によってフォーム 3 に変換されます。 、
リーリーJava はフォーム 2 のような糖衣構文を提供していないため、この方法で使用することは違法です。
リーリー
A. 投稿者はあまり心配する必要がない構文が規定されています。
B. 配列の要素が事前にわかっている場合は、
Object[] params = {1, 2, 3, 4};
を使用して配列コードを宣言する方が簡潔です。それ以上の言い方はありません。最初の宣言方法は間違っています
Object[] params = new Object[length] である必要があります
2枚目は私が普段使っているものです