将对象转换为Boolean [] []

时间:2011-11-18 13:19:43

标签: java

如何将Object转换为布尔数组数组?

Boolean[][] mass;     
mass = (Boolean[5][5])Object;

3 个答案:

答案 0 :(得分:1)

对象是一个类,而不是一个实例。你不能将类Object转换为Boolean [5] [5],因为一个Class肯定不是Boolean [5] [5]类型的对象,你可能能够将Object类型的引用转换为Boolean [ 5] [5]。

答案 1 :(得分:1)

这是你问题的答案:

Boolean[][] tst = new Boolean[5][5];  
Object obj = tst;       

Boolean[][] mass;     
mass = (Boolean[][])obj;

System.out.println("tst.length = " + mass.length );
System.out.println("tst[0].length = " + mass[0].length );

只需投放到Boolean[][]

样本的打印输出:

tst.length = 5
tst[0].length = 5

答案 2 :(得分:1)

布尔数组数组的类型为Boolean[][],无论其大小如何。此外,Object是一个类和关键字,因此无法调用您的实际对象。

示例(假设您有一个实际的Boolean[][],您恰好收到了静态类型Object):

class Test{
    public static void main(String[]_){

        Boolean[][] x = new Boolean[][]{{true,false},{false,true}};

        Object o = x; //say you're given the o object

        Boolean[][] y = (Boolean[][])o; //cast it like this

        for (Boolean[] b : y)
            System.out.println(java.util.Arrays.toString(b));

    }
}

如果这不起作用,抛出的ClassCastException应该告诉你对象的实际类是什么,然后你可能知道如何手动转换它(愚蠢的例子:一个字符串“0101 ...”,包含25 0 s和1 s。

相关问题