在eclipse中无法从int转换为String []

时间:2011-07-29 08:15:02

标签: java eclipse

String[] arrayOfString2 =(String[])0;

上面一行显示了类型转换错误。但我已经从其他程序中复制了它,并且没有错误。我该怎么办?

5 个答案:

答案 0 :(得分:3)

无法将int(在您的情况下为零)转换为字符串数组。另一个代码可能是将一个变量o或更少可能O转换为一个字符串数组。

尝试将变量打印到控制台以查看其类和值是什么,以确定它是否可以转换为某种类型。类似的东西:

System.out.println("variable: " + var);
String[] arrayOfStrings = (String[])var;

答案 1 :(得分:1)

您无法在Java中将int强制转换为String[]。你永远不可能,你永远也无法做到。

原因是Java有strong typing

我不相信编译的其他代码。

答案 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;

只是猜测,不知道这是为了什么。