StringUtils.isNumericの注意点

@iwasaki 18views 更新:2016年10月25日

commons-langのStringUtils.isNumericを使う際の注意点としては空文字がtrueになる、という点です。

StringUtils.isNumeric(null)   = false
StringUtils.isNumeric("")     = true #これがくせものです。
StringUtils.isNumeric("  ")   = false
StringUtils.isNumeric("123")  = true
StringUtils.isNumeric("12 3") = false
StringUtils.isNumeric("ab2c") = false
StringUtils.isNumeric("12-3") = false
StringUtils.isNumeric("12.3") = false
StringUtils.isNotEmpty(hoge) && StringUtils.isNumeric(hoge)

のようにして、空文字でなくかつ数字として判定するとよさそうです。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません