String[] arrayOfString2 =(String[])0;
上面一行显示了类型转换错误。但我已经从其他程序中复制了它,并且没有错误。我该怎么办?
答案 0 :(得分:3)
无法将int
(在您的情况下为零)转换为字符串数组。另一个代码可能是将一个变量o
或更少可能O
转换为一个字符串数组。
尝试将变量打印到控制台以查看其类和值是什么,以确定它是否可以转换为某种类型。类似的东西:
System.out.println("variable: " + var);
String[] arrayOfStrings = (String[])var;
答案 1 :(得分:1)
答案 2 :(得分:0)
此代码可能在Groovy中,您无法在Java中执行此操作。
答案 3 :(得分:0)
您需要提供有关您尝试投放到Object
的{{1}}类型的更多信息。
正如其他人指出的那样
String[]
无效,因为您无法将String[] arrayOfString2 =(String[])0;
(在您的情况下为int
)投射到0
。
你是不是想写任何机会写String[]
而不是o
?如果你的意思是0
并且它实际上是o
你应该能够通过你尝试的方式强制转换它,那么下面的代码将会编译(尽管你可能永远不会想要声明String[]
1}}仅作为String[]
以后再投射。)
Object
虽然这不是很有用,因为它没有任何元素的空间。相反,你可能想要
Object o = new String[0];
String[] arrayOfString2 =(String[])o;
答案 4 :(得分:0)
如前所述,此代码在Java中无效 它可能应该是:
String[] arrayOfString2 = null;
只是猜测,不知道这是为了什么。