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
}