1. ホーム

[解決済み】Javaでオブジェクトの配列を作成する

2022-04-10 20:31:17

質問内容

私はJavaの初心者で、今回、Javaでオブジェクトの配列を作成しました。

例えばAというクラスがあるのですが...

A[] arr = new A[4];

へのポインタ (参照) を作成しているだけです。 A であり、4つのオブジェクトではありません。これは正しいのでしょうか?作成されたオブジェクトの関数や変数にアクセスしようとすると、ヌルポインタの例外が発生するようですね。 オブジェクトを操作/アクセスできるようにするために、私はこのようにしなければなりませんでした。

A[] arr = new A[4];
for (int i = 0; i < 4; i++) {
    arr[i] = new A();
}

これは正しいのでしょうか、それとも何か間違ったことをしているのでしょうか?もしこれが正しいのであれば、本当に奇妙です。

EDIT: C++では、単に新しい A[4] で、4つのオブジェクトが作成されます。

どのように解決するのですか?

これは正しい。

A[] a = new A[4];

...4を作成 A のリファレンスで、これを行うのと似ています。

A a1;
A a2;
A a3;
A a4;

今、あなたができなかったこと a1.someMethod() 割り付けずに a1 このように

a1 = new A();

同様に、配列の場合も、このようにする必要があります。

a[0] = new A();

...使用する前に