2011-01-19 10 views
0

オブジェクトをint型に変換したい.... 例: オブジェクトobj = ........; int count = Integer.parseInt((String)obj);オブジェクトをintに変換する方法

上記のコードを使用すると、キャスト例外が発生します。

誰かがオブジェクトをintにキャストする方法を知っていますか?

+0

@Jisson私はあなたがObject obj = ........をどのように初期化したのか知っているかもしれません。 –

+0

私はオブジェクトobj =(オブジェクト)tableres.get( "mCount")を使用します。 – Jisson

+0

@Jisson私はtableres.get( "mCount")はあなたに数字を与えると思います。なぜあなたは(int)か(String)にキャストしないでください –

答えて

0

obj.hashCode()を使用して、オブジェクトを表すintを取得します。しかし、あなたの目的は何ですか?投稿したコードは機能しません - toString()を呼び出すのではなく、文字列にオブジェクトをキャストしようとしますが、オブジェクトのtoString表現自体が整数でない限り、Integer.parseIntを呼び出すと例外がスローされます。

だからあなたは何を目指していますか?

+0

関数を呼び出すと、xmlrpcの処理が行われ、ハッシュテーブルが返されます。 tableres = connector.checkin(テーブル);この行は例外を示します。 \t \t \t if(tableres!= null && tableres.size()> 0){int count = Integer.parseInt((String)tableres.get( "mCount")); – Jisson

+4

あなたは深刻ですか?これが問題になるのは良いと思いませんか?とにかく、キャストの例外は、tableres.get( "mCount")が文字列ではないという事実からです。ハッシュテーブルの内容をループして、要素が期待どおりであることを確認する必要があります。より大きい質問 - なぜあなたは、整数ではなく、ハッシュテーブル内の文字列としてカウントを保持しますか?すでに整数ではないと確信していますか? – I82Much

+0

toString()はhashCode()よりも良い選択ですが、私は同意します。文字列ではなく整数として整数を格納し、この問題は発生しません。 –

0

tableresがハッシュテーブルである場合、値はintではなく、プロリム整数になります。 その場合、試してください:

int i =((Integer)tableres.get( "mCount"))。intValue();

幸運、 - M.S.

関連する問題