Integer类的几个静态方法的理解-ParseInt ,toString,valueOf
1.Integer.ParesInt
static int ParesInt(String s)
static int ParesInt(String s,int radix)
public class test {
public static void main(String[] args) {
String n="10";
//将字符串参数作为有符号位的十进制整数进行解析
//实际上,相当于Integer.ParseInt(n,10)
System.out.println(Integer.parseInt(n));
//将字符串作为16进制的数,然后按照10进制进行转换
/*
* parseInt("0", 10) 返回 0
parseInt("473", 10) 返回 473
parseInt("-0", 10) 返回 0
parseInt("-FF", 16) 返回 -255
parseInt("1100110", 2) 返回 102
parseInt("2147483647", 10) 返回 2147483647
parseInt("-2147483648", 10) 返回 -2147483648
parseInt("2147483648", 10) 抛出 NumberFormatException
parseInt("99", 8) 抛出 NumberFormatException
parseInt("Kona", 10) 抛出 NumberFormatException
parseInt("Kona", 27) 返回 411787
*/
System.out.println(Integer.parseInt(n,16));
}
}
输出结果
10
16
2.toString
static String toString(int i,int radix)
static String toString(int i)
System.out.println("=======================================");
//如果第一个参数为负,则结果中的第一个元素为 ASCII 的减号 '-' ('\u002D')。
//如果第一个参数为非负,则没有符号字符出现在结果中。
//十六进制(基数为 16)的数字是 0123456789abcdef。如果希望得到大写字母,则可以在结果上调用 String.toUpperCase() 方法:
//Integer.toString(n, 16).toUpperCase()
//将十进制的数转换成为第二个参数所指定的形式
System.out.println(Integer.toString(-10,16));
System.out.println(Integer.toString(10,16));
System.out.println(Integer.toString(10, 2));
System.out.println(Integer.toString(-10, 2));
System.out.println(Integer.toString(-10, 8));
System.out.println(Integer.toString(10, 8));
//返回一个表示指定整数的 String 对象。将该参数转换为有符号的十进制表示形式,
//以字符串形式返回它,就好像将参数和基数 10 作为参数赋予 toString(int, int) 方法。
System.out.println(Integer.toString(10));
输出
-a
a
1010
-1010
-12
12
10
3.toBinaryString,toHexString,toOctalString
static String toHexString(int i)
static String toOctalString(int i)
static String toBinaryString(int i)
System.out.println("======================================");
//以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
//如果参数为负,该无符号整数值为参数加上2^32^;否则等于该参数。将该值转换为二进制(基数 2)形式的无前导 0 的 ASCII 数字字符串。如果无符号数的大小为零,则用一个零字符 '0' (’\u0030’) 表示它;否则,无符号数大小的表示形式中的第一个字符将不是零字符。字符 '0' ('\u0030') 和 '1' ('\u0031') 被用作二进制数字。
System.out.println(Integer.toBinaryString(10));
System.out.println(Integer.toBinaryString(-10));
System.out.println(Integer.toHexString(10));
System.out.println(Integer.toHexString(-10));
System.out.println(Integer.toOctalString(10));
System.out.println(Integer.toOctalString(-10));
}
输出
======================================
1010
11111111111111111111111111110110
a
fffffff6
12
37777777766
4.valueOf
static Integer valueOf(int i)
static Integer valueOf(String i)
static Integer valueOf(String i,int radix)
System.out.println("======================================");
System.out.println(Integer.valueOf(10));
System.out.println(Integer.valueOf("10"));
//返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
//将第一个参数解释为用第二个参数指定的基数表示的有符号整数,
//就好像将这些参数赋予 parseInt(java.lang.String, int) 方法一样。结果是一个表示字符串指定的整数值的 Integer 对象。
System.out.println(Integer.valueOf("10",8));
System.out.println(Integer.valueOf("10",16));
System.out.println(Integer.valueOf("10",2));
输出
跟parseInt方法相同,只是返回的类型不同
======================================
10
10
8
16
2