array
を勉強しようとしています。私は非常に多くの多次元配列を試しましたが、理解しませんでした2次元の異なるフレーバータイプの配列の違いは?これらの2つのタイプの利点
class Test
{
public static void main (String[] args) throws java.lang.Exception
{
String [][] obj1 = new String [10][5];
String [][] obj2 = new String [10][];
System.out.println(obj1[1].length);
System.out.println(obj2[1].length);
}
}
この例では、2つの二次元配列を試しました。
String [][] obj1 = new String [10][5];
およびString [][] obj2 = new String [10][];
。今
System.out.println(obj1[1].length);
は出力として長さ5
を与えます。完全にクリアされました。第二に、SYSOUT文で
はNullPointerException
System.out.println(obj2[1].length);
完全未確認スローします。私はメンバ変数にアクセスしようとしていないので、長さを取得したいだけです。
だから、なぜNullPointerException
ここですか? は実際に配列の宣言の第二のタイプの利点はありますか?
詳細については、いくつかのソースが見つかりましたが、混乱しています。
おかげString [][] obj2 = new String [10][];
で
ギザギザのアレイで読み上げてください。 – Savior