具有不同类型的二维数组



我有这个:

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

我现在如何用这个值制作一个二维数组?例如array1[][]:

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

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

private String array1[][];

是否将所有值分别保存为Stringparse

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

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

Object array1[][];

然而,这看起来更像是你真正想要一个班。

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

然后创建一个数组或集合:MyObject[] array1。如果可以存储对象,这通常是更好的设计。

使用对象而不是基元,例如

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

然而,我不得不质疑为什么你真的需要这样做,可能是设计缺陷?

大多数时候,混合这样的值不是一个好主意。它被称为锯齿状数组,许多语言都允许你这样做。理论上它很好,但在实践中它会让你以后很难维护代码。

通常,您希望使用描述性变量名来很好地定义事物。由于Java是一种强类型语言,您可能希望创建一个将这些值作为成员变量的类,然后创建该类的数组。然后,如果要进行任何特殊的操作,就可以制作只处理这些值的特殊方法。

这有道理吗?

相关内容

  • 没有找到相关文章

最新更新