首页 > 解决方案 > java检查char是否是switch case语句中的数字

问题描述

我有一个开关盒检查 char 是否为“=”或“-”或“+”,但我也想检查 char 是否为 0-9 之间的数字

    public static Token get(char ch) {
            switch (ch) {
                case '-' :
                case '+':
                case '=':
                    return new Token(ch);
                case  Character.isDigit(ch): // this dosn't work
                {
                }
            }
        }

我可以用什么替换 Character.isDigit?

标签: javaswitch-statementisnumeric

解决方案


case您可以为十位字符定义显式语句:

public static Token get(char ch) {
    switch (ch) {
        case '-' :
        case '+':
        case '=':
            return new Token(ch);
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
            // handle digit case
            break;
    }
}

请注意,我们只是让所有数字字符的情况都流入一个点进行处理。


推荐阅读