Java中string、int、char之间互相转换
String转int
(1)Integer.parseInt(String) 方法
支持“负号”!
String str = "123";
int num = Integer.parseInt(str);
如果这个字符串中间有字母会报错!
(2)Integer.valueOf(String) 方法
支持“负号”!
String str = "123";
int num = Integer.valueOf(str);
如果这个字符串中间有字母会报错!
唯一区别是
valueOf(String) 方法会返回 Integer 类的对象,而 parseInt(String) 方法返回原始的 int 值。
我们可以使用 Integer.valueOf(String).intValue() 这样子就可以转为 int 类型!!!
int转String
(1)String s = String.valueOf(num) 方法
int num = 123;
String str = String.valueOf(num);
在使用valueOf() 方法时,注意 valueOf 括号中的值不能为空,否则会报空指针异常(NullPointerException)。
(2)String s = Integer.toString(num) 方法
int num = 123;
String s2 = Integer.toString(num);
(3)String s = "" + num 方法
int num =123;
String str = "" + num;
使用第三种方法("" + num )相对第一第二种耗时比较大!!!
String转char
(1)String.charAt(index) 方法
最常用的,甚至可以说,都是这么用的!!!
String str = "abc";
char c = str.charAt(1);
(2)String.toCharArray() 方法
有一点点特殊!是将String转化为字符串数组!!!相当于 char[]
String str = "abc";
char[] chars = str.toCharArray();
char转String
将char转换为String大致有4种方法!!!
(1)String.valueOf('c') 方法
char c = 'a';
String str = String.valueOf(c);
(2)String.valueOf(new char[] {'a', 'b', 'c'}) 方法
和上面的基本一样,都是用 valueOf() 方法,只不过是参数不一样!!!
char[] c = {'a','b','c'};
String str = String.valueOf(c);
(3)Character.toString('c') 方法
Character.toString(char)方法实际上直接返回String.valueOf(char)
(4)"" + 'c'
char c = 'a';
String str = "" + c;
虽然这个方法很简单,但这是效率最低的方法
因为String类是 final 属性
"" + 'c' 时候需要创建新的 String 类 ,如果进行很多次拼接则要创建很多个类虚拟机栈可能会溢出
int转char
int number = 9;
char cNumber = (char) (number + '0');
System.out.println(cNumber);
9 + '0':0的ascall值为48,9+48 = 57,57对应的ascall是'9'
char转int
char c = '3';
int num = c - '0';
System.out.println(num);
'3' - '0': 相当于ascall值的51-48 = 3,将将其强转为int,就是3!