Stringからプリミティブ型のClassを取得する簡単な方法はありますか?私は数だけの種類をチェックする必要があり、その方法は、心配する必要はありません方法は、それは...など、Stringからプリミティブ型のクラスを取得
をfloat.class
を返します"25.8"
ためint.class
、
を返します
"42"
について
私はこのことを行うことができるライブラリメソッドについて知っています。
Stringからプリミティブ型のClassを取得する簡単な方法はありますか?私は数だけの種類をチェックする必要があり、その方法は、心配する必要はありません方法は、それは...など、Stringからプリミティブ型のクラスを取得
をfloat.class
を返します"25.8"
ためint.class
、
を返します
"42"
について
私はこのことを行うことができるライブラリメソッドについて知っています。
Stringからプリミティブ型のクラスを取得する簡単な方法はありますか?
AFAIK ...いいえありません。
1つの理由は、多くの数値文字列が複数の表現型を持つ可能性があることです。例えば上記ため
byte
、short
、int
又はlong
、float
double
、BigInteger
又はBigDecimal
、または...:"42"
は次のように表されることができString
,StringBuilder
またはStringBuffer
。フリップサイドは"25.8"
のような数はおそらくプリミティブ型またはそのラッパーのいずれかで正確表現を持っていないということです。
正解が1つだけではない場合は、Java SEライブラリや一般的なサードパーティ製ライブラリのいずれかの一般的な解決策がないことは驚くべきことではありません。
答えに感謝します。私はそう思っていましたが、ちょっと待っています。だれかがライブラリメソッドを知っている場合に備えて、 –
ローカリゼーション(グローバリゼーション)設定を忘れないでください。異なるグローバリゼーション設定に異なる小数点のセパレータがあることがあります。 – Yannici
すべてのタイプを確認するためにスイッチケースを使用しようとしましたが、正しいタイプがあなたのタイプです –
正規表現を使用して文字列を分類できます。 – Blobonat
この参照はあなたに役立つはずです - http://stackoverflow.com/questions/180097/dynamically-find-the-class-that-represents-a-primitive-java-type – vv88