如何将Object转换为布尔数组数组?
Boolean[][] mass;
mass = (Boolean[5][5])Object;
答案 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。