cari

Rumah  >  Soal Jawab  >  teks badan

java - 判断字符串内容的类型

迷茫迷茫2827 hari yang lalu735

membalas semua(2)saya akan balas

  • PHPz

    PHPz2017-04-18 10:06:51

    Pada masa ini apa yang saya boleh fikirkan ialah pertimbangan biasa

    balas
    0
  • 阿神

    阿神2017-04-18 10:06:51

    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.

    balas
    0
  • Batalbalas