0

私はこれを持っています:

private float dir = 0f;
private boolean ch = true;
private String = "No";
private int aB = 5;

この値を使用して 2 次元配列を作成するにはどうすればよいですか? 例array1[][]:

{ {0f, "true", "No", 5} }

それとも、このような配列を作成する必要がありますか?

private String array1[][];

すべての値を として保存しString、次にparse各項目を保存しますか?

しかし、これは良いプログラミングではないと思います。

4

3 に答える 3

2

Object を型として使用する IE の抽象配列を使用できます。

Object array1[][];

ただし、これは本当にクラスが必要なように見えます。

class MyObject {
    private float dir;
    private boolean ch;
    private String str;
    private int aB;
// getters and setters omitted 
}

次に、これを使用して配列またはコレクションを作成しますMyObject[] array1。オブジェクトを格納できる場合は、通常、これがより適切な設計です。

于 2013-02-26T21:27:03.820 に答える
0

プリミティブではなくオブジェクトを使用します。

Object[][] vars = {{ new Float(0f); Boolean.TRUE, "No", new Integer(5) }}

しかし、なぜ実際にこれを行う必要があるのか​​ 疑問に思う必要があります。おそらく設計上の欠陥ですか?

于 2013-02-26T21:23:32.320 に答える
0

ほとんどの場合、そのような値を混在させることは良い考えではありません。これはジャグ配列と呼ばれ、多くの言語で使用できます。理論上は問題ありませんが、実際には後でコードを保守するのがかなり難しくなる可能性があります。

一般に、説明的な変数名を使用して物事を非常に明確に定義する必要があります。Java は厳密に型指定された言語であるため、これらの値をメンバー変数として持つクラスを作成し、そのクラスの配列を作成することをお勧めします。次に、特別な操作が必要な場合は、それらの値だけを処理する特別なメソッドを作成できます。

それは理にかなっていますか?

于 2013-02-26T21:25:24.430 に答える