我有这个:
private float dir = 0f;
private boolean ch = true;
private String = "No";
private int aB = 5;
我现在如何用这个值制作一个二维数组?例如array1[][]
:
{ {0f, "true", "No", 5} }
或者我应该做一个这样的数组吗?
private String array1[][];
是否将所有值分别保存为String
和parse
?
但我认为,这不是一个好的程序。
您可以使用抽象数组,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是一种强类型语言,您可能希望创建一个将这些值作为成员变量的类,然后创建该类的数组。然后,如果要进行任何特殊的操作,就可以制作只处理这些值的特殊方法。
这有道理吗?