2016-06-22 32 views
1

Stringからプリミティブ型のClassを取得する簡単な方法はありますか?私は数だけの種類をチェックする必要があり、その方法は、心配する必要はありません方法は、それは...など、Stringからプリミティブ型のクラスを取得

float.classを返します"25.8"ためint.class

を返します

"42"について

ブール値とバイト数。

私はこのことを行うことができるライブラリメソッドについて知っています。

+1

すべてのタイプを確認するためにスイッチケースを使用しようとしましたが、正しいタイプがあなたのタイプです –

+1

正規表現を使用して文字列を分類できます。 – Blobonat

+0

この参照はあなたに役立つはずです - http://stackoverflow.com/questions/180097/dynamically-find-the-class-that-represents-a-primitive-java-type – vv88

答えて

1

Stringからプリミティブ型のクラスを取得する簡単な方法はありますか?

AFAIK ...いいえありません。

1つの理由は、多くの数値文字列が複数の表現型を持つ可能性があることです。例えば上記ため

  • byteshortint又はlong
  • float
  • 又はdouble
  • ラッパータイプ、
  • BigInteger又はBigDecimal、または...:"42"は次のように表されることができ
  • String,StringBuilderまたはStringBuffer

フリップサイドは"25.8"のような数はおそらくプリミティブ型またはそのラッパーのいずれかで正確表現を持っていないということです。

正解が1つだけではない場合は、Java SEライブラリや一般的なサードパーティ製ライブラリのいずれかの一般的な解決策がないことは驚くべきことではありません。

+0

答えに感謝します。私はそう思っていましたが、ちょっと待っています。だれかがライブラリメソッドを知っている場合に備えて、 –

+0

ローカリゼーション(グローバリゼーション)設定を忘れないでください。異なるグローバリゼーション設定に異なる小数点のセパレータがあることがあります。 – Yannici

関連する問題