Integer

125 阅读1分钟

Integer详解

1.常用方法

1. parseInt(String s)

​ 解释:将字符串参数分析为带符号的十进制整数。

   public static int parseInt(String s) throws NumberFormatException {
        return parseInt(s,10);
    }

2. parseInt(String s, int radix)

​ 解释:将字符串参数解析为第二个参数(进制)指定基数的带符号整数。

3. parseUnsignedInt(String s, int radix)

​ 解释:将字符串参数解析为第二个参数(进制)指定基数的无符号整数。

4. valueOf(String s)

​ 解释:返回一个Integer对象,该对象包含指定字符串的值。

    public static Integer valueOf(String s) throws NumberFormatException {
        return Integer.valueOf(parseInt(s, 10));
    }

5. getInteger(String nm)

解释:获取nm的数字值,如获取不到,默认为null

6. getInteger(String nm, int val)

解释:获取nm的数字值,如获取不到,默认为val

7. compare(int x,int y)

解释:比较两值大小

    public static int compare(int x, int y) {
        return (x < y) ? -1 : ((x == y) ? 0 : 1);
    }

8. compareTo(Integer anotherInteger)

解释:比较两值大小

    public int compareTo(Integer anotherInteger) {
        return compare(this.value, anotherInteger.value);
    }

2.构造方法

1. Integer(int value)

    public Integer(int value) {
        this.value = value;
    }

2. Integer(String s)

    public Integer(String s) throws NumberFormatException {
        this.value = parseInt(s, 10);
    }

3.拓展方法

1. NumberChineseFormatter.format(Integer number)

​ 解释:hutool包 将数字转化为中文

    public static void main(String[] args) {
        Integer myInteger = 12345;
        String chineseString = NumberChineseFormatter.format(myInteger);
        System.out.println(chineseString);  // 输出:"一万二千三百四十五"
    }

2. NumberChineseFormatter.formatThousand(int amount, boolean isUseTraditional)

解释:将数字转化为中文,11对应的是十一,而不是一十一

3. 排序方法

   public static void main(String[] args) {
        List<Integer> list = Arrays.asList(-1, 1, 3, 2);
        list.sort(Comparator.comparingInt(o -> o)); //正序 -1,1,2,3
        list.sort((o1, o2) -> o2-o1);//倒序 3,2,1,-1
    }