我有这个:
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
保存为每个项目?
但我认为,这不是一个好的编程。
答案 0 :(得分: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
。如果您可以存储对象,这通常是更好的设计。
答案 1 :(得分:0)
使用对象而不是基元,例如
Object[][] vars = {{ new Float(0f); Boolean.TRUE, "No", new Integer(5) }}
但是,我不得不质疑为什么你真的需要这样做,可能是一个设计缺陷?
答案 2 :(得分:0)
大多数情况下,混合这样的值并不是一个好主意。它被称为锯齿状数组,许多语言都可以让你这样做。这在理论上很好,但在实践中,它可能会很难在以后维护您的代码。
您通常希望使用描述性变量名称来定义事物。由于Java是一种强类型语言,因此您可能希望创建一个将这些值作为成员变量的类,然后创建该类的数组。然后,如果你有任何特殊的操作,你可以制作处理这些值的特殊方法。
这有意义吗?