java - 判断字符串内容的类型
迷茫
迷茫 2017-04-18 10:04:51
0
2
751
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(2)
PHPzhong

Pada masa ini apa yang saya boleh fikirkan ialah pertimbangan biasa

阿神

Anggapkan bahawa jenis data terhad kepada 8 jenis asas + Rentetan.
Jenis berangka dibahagikan kepada integer dan nombor titik terapung;
Nilai Boolean dan jenis aksara lebih mudah untuk dinilai; :
^-?[1-9]d*$Nilai 0 perlu dinilai secara berasingan Ini agak mudah, cuma tulis sendiri.

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;
}
^[-]?[1-9]d*.d*|-0.d*[1-9]d*$Kod di atas ditaip dengan tangan dan mungkin ditulis dengan salah.
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan