3

String to Int in Java - Likely bad data, need to avoid exceptions to implement a utility method that parses a int, but returns a default value if the string is parse.

public static int parseInt(String s, int defaultValue) {
    if (s == null) return defaultValue;
    try {
         return Integer.parseInt(s);
     } catch (NumberFormatException x) {
         return defaultValue;
     }  
}

boolean、float、double、long などの他のデータ型と同様に、これを実装する既存のオープン ソース ライブラリ (たとえば、apache commons、または google から) はありますか?

4

2 に答える 2

14

Apache Commons Langorg.apache.commons.lang3.math.NumberUtilsには、変換のための便利なメソッドを持つクラスがあります。別の方法として、エラーが発生した場合にデフォルト値を指定できます。例えば

NumberUtils.toLong("")         => 0L
NumberUtils.toLong(null, 1L)   => 1L

NumberUtils.toByte(null)       => 0
NumberUtils.toByte("1", 0)     => 1
于 2013-05-22T18:06:13.427 に答える
7

Guavaには、 Ints.tryParseFloats.tryParseなど、tryParse解析が失敗したときに null を返すいくつかのメソッドがあります。

于 2013-05-22T18:03:15.690 に答える