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!

posted @ 2022-11-22 23:53  金鳞踏雨  阅读(138)  评论(0编辑  收藏  举报  来源