业精于勤,荒于嬉;行成于思,毁于随。
目前我能想到的就是正規判斷了
假設資料型別僅限於8種基本型別+String。 其中數值類型分為整數和浮點數;布林值和字元型比較好判斷;整數的正規表示式:^-?[1-9]d*$^-?[1-9]d*$浮点数的正则表达式:^[-]?[1-9]d*.d*|-0.d*[1-9]d*$浮點數的正規表示式:^[-]?[1-9]d*.d*|-0.d*[1-9]d*$其中0值要另外判斷,這個比較簡單,自己寫。
^-?[1-9]d*$
^[-]?[1-9]d*.d*|-0.d*[1-9]d*$
public static final String CHAR_PATTERN = "[^0-9]"; public static final String INT_PATTERN = "^-?[1-9]\d*$"; public static final String DOUBLE_PATTERN = "^[-]?[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$"; public static Object convert(String item) { // 忽略所有空字符串或全是空格的字符串 if (!StringUtils.hasText(item)) { return null; } item = item.trim(); if ("true".equalsIgnoreCase(item) || "false".equalsIgnoreCase(item)) { return Boolean.valueOf(item); } if (item.matches(CHAR_PATTERN)) { return Character.toString(item); } if (item.matches(INT_PATTERN)) { return Integer.valueOf(item); } if (item.matches(DOUBLE_PATTERN)) { return Double.valueOf(item); } return item; }
以上程式碼手敲,有可能寫錯。
目前我能想到的就是正規判斷了
假設資料型別僅限於8種基本型別+String。
其中數值類型分為整數和浮點數;
布林值和字元型比較好判斷;
整數的正規表示式:
^-?[1-9]d*$
^-?[1-9]d*$
浮点数的正则表达式:
^[-]?[1-9]d*.d*|-0.d*[1-9]d*$
浮點數的正規表示式:^[-]?[1-9]d*.d*|-0.d*[1-9]d*$
其中0值要另外判斷,這個比較簡單,自己寫。
以上程式碼手敲,有可能寫錯。