1

助けを求める前に、何を検索すればよいかわからなかったので、これが重複した質問または悪い質問である場合は本当に申し訳ありません.

Javaで配列をいじっているときに気になることがあります。コードは次のとおりです。

String []stt = new String[5];
stt[0].length();  //of course NullPointerException because uninitialized.
System.out.println(stt.getClass()); //it should return class of array instead of String.

上記のコードによると、これまで作成された String オブジェクトはなく、stt は String 型ではなく Array 型である必要があります。実際、stt 内の要素は String 型である必要があります。

配列オブジェクトのクラスとは何かを知りたかったのですが、配列オブジェクトのクラスを返すことになっています。

4

5 に答える 5

3

参照が指しているクラスは String 配列です。その参照が配列の一部であるかどうかをテストしたい場合は、そのための特別なメソッドisArray.

System.out.println(stt.getClass().isArray());

他の人が指摘したように、よく見ると、使用するだけで出力の違いがわかります

class [Ljava.lang.String; // Array of String
class java.lang.String    // String
于 2013-06-08T17:58:54.273 に答える