0

我有这个:

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

我现在怎么能用这个值创建一个二维数组?例如array1[][]

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

或者我应该做一个这样的数组?

private String array1[][];

将所有值保存为 aString然后parse每个项目?

但我认为,这不是一个好的编程。

4

3 回答 3

2

您可以使用抽象数组,IE 使用 Object 作为类型。

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 回答