若为负数,则输出负数,ASCII码,字符 0 对应 48, 9 对应 57,不在范围内则返回 false

public int StrToInt(String str) {
        if(str == null || str.length() == 0)
            return 0;
        int number = 0;
        int mark = 0;
        if(str.charAt(0) == '-')
            mark = 1;  /*为什么要mark要设置为整型的呢?是因为如果是负数那么我们就从下标为1的位置还是算起*/
        for(int i = mark; i < str.length(); i++){
            if(str.charAt(i) == '+')
                continue;
            if(str.charAt(i) < 48 || str.charAt(i) > 57)
                return 0;
            number = number*10+str.charAt(i)-48;
        }
        return mark==1?-number:number;
    }