2011-07-29 6 views
0

String[] arrayOfString2 =(String[])0;は、上記の行は、エラーをキャスト入力示し日食

でString []型にint型からキャストすることはできません。しかし、私はいくつかの他のプログラムからそれをコピーして、エラーはありません。私に何ができる?

+0

これはできません。コピーしたプログラムはJavaで書かれていますか? – slaphappy

+0

ここで実際に何を達成しようとしていますか?文字列の配列への整数の配列? –

答えて

3

int(あなたの場合はゼロ)を文字列の配列にキャストすることはできません。他のコードはおそらくo以下の変数、おそらくOを文字列の配列にキャストしていました。

変数をコンソールに出力して、そのクラスと値が特定の型にキャストできるかどうかを確認してください。あなたはJavaでString[]intをキャストすることはできません

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

:ような何か。あなたは決してできないだろう。

これは、Javaがstrong typingであるためです。

私は他のコードがコンパイルされているとは思わない。

0

このコードはおそらくGroovyにありますが、これはJavaでは実行できません。

0

キャストしようとしているObjectの種類に関する詳細をString[]に入力する必要があります。あなたはString[]に(あなたのケース0中)intをキャストすることはできませんので

他の人が

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

を指摘したようには機能しません。

oと書いても差し支えありませんでしたか?0は間違いありませんか?あなたが平均oをしていて、それが実際にString[]だったなら、試した方法でそれをキャストすることができます。つまり、次のようにコンパイルします。String[]Objectとして宣言して後でキャストすることは決して望まないでしょう) 。

Object o = new String[0]; 
String[] arrayOfString2 =(String[])o; 

これは要素にスペースがないのであまり役に立ちませんが、代わりにあなたが望むかもしれない

String[] arrayOfString2 = new String[sizeOfArray]; 
0

このコードはすでに述べたように、Javaでは無効です。
それはおそらく次のようになります。

String[] arrayOfString2 = null; 

ただの推測、これが何のためにあるのか知らずに。

関連する問題