如何访问数组布尔值 - 需要数组,但找到了对象

时间:2014-10-10 19:26:39

标签: java arrays

我无法访问数组布尔值,例如以下内容......

boolean[][] sub = new boolean[][];
Object[] record = new Object[];

record[0] = sub;

if ( record[0][0][1] == false )
{
    // Do something
}

当我设置一个手表时,我得到布尔值类型和值false。 编译器给出了所需数组的错误,但找到了Object。

record []数组的类型为object,但每个索引中包含一个boolean[][]数组。我已经尝试过投射,但它不起作用(即(boolean)record[0][0][1])。有没有人有关于如何访问布尔值的想法?

1 个答案:

答案 0 :(得分:2)

如果record的每个元素都是boolean,那么应该在第一次访问那个数组时完成转换:

if ( ((boolean[][])(record[0]))[0][1] == false )
{
    // Do something
}

或者更好的是,不要与false进行比较,只需评估数组的内容:

if ( !((boolean[][])(record[0]))[0][1] )
{
    // Do something
}