- - PR -
Castのエラー
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-01-29 17:27
for(int cnt = 0, max = List.size(); cnt < max; cnt++){
Map map = (Map)List.get(cnt); String name = (String)map.get("name"); } String name = (String)map.get("name");で、Castのエラーが出てしまいます。 Stirng型にキャストしたいのですが、なにか方法ありますでしょうか。 Listの中身は下記のような感じです。 List=[{no=11111111, flg=0, name=taro},{no=222222222, flg=0, name=hanako}] | ||||||||
|
投稿日時: 2007-01-29 17:42
当然、javaのドキュメントを読んだ上での質問なんだよね? 例えば↓とか。 http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/Map.html http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/List.html | ||||||||
|
投稿日時: 2007-01-29 17:58
できますが。 #あまりに、触らなさ過ぎて、javaのテストコード、書けなくなってた。 orz | ||||||||
|
投稿日時: 2007-01-29 18:55
何てエラーがでますか?どういう内容が出力されていますか? こちら側ではそっちで何が起こっているかわかりません。 詳しく書いてください。 | ||||||||
|
投稿日時: 2007-01-29 19:57
java.lang.ClassCastException
というエラーが出ます。 | ||||||||
|
投稿日時: 2007-01-29 20:11
System.out.println(hoge.getClass().getName());
| ||||||||
|
投稿日時: 2007-01-29 20:12
こんばんは、どんたくおです。
PG初心者さんが、記載されましたプログラムで、 java.lang.ClassCastException が発生する箇所は、キャストを行っている Map map = (Map)List.get(cnt); String name = (String)map.get("name"); の二箇所かと思います。 java.lang.ClassCastException がどこで起きているのか特定されると、解決の道は開けるのではないでしょうか。 例えば、 System.out.println("1"); Map map = (Map)List.get(cnt); System.out.println("2"); String name = (String)map.get("name"); のようにして、プリントするか、もしくはスタックトレースが出ると、手早いと思います。 1と2が、出力されたら String name = (String)map.get("name"); が怪しいので、格納されているmapを確認 2が出力されなかったら、 Map map = (Map)List.get(cnt); が怪しいので、リストを確認 地道かもしれませんが、いかがでしょうか。 | ||||||||
|
投稿日時: 2007-01-29 23:00
何故詳しく書いてと書いてあるのに、
としか書かないのでしょう? キャストでエラーと仰っているので、 java.lang.ClassCastExceptionがスローされているのは分かっています。
見たいな感じで出ると思うのですが、それを書かないと。 この例外がスローされるときは、 ある型にキャストしようとしたけど、型の互換性がありませんでした。 元のオブジェクトの型はjava.lang.Integerです。 と言う意味です。自身のエラーの出力とコードと見比べてみてください。 |