支持“负号”!
- String str = "123";
- int num = Integer.parseInt(str);
如果这个字符串中间有字母会报错!
支持“负号”!
- String str = "123";
- int num = Integer.valueOf(str);
如果这个字符串中间有字母会报错!
唯一区别是
valueOf(String) 方法会返回 Integer 类的对象,而 parseInt(String) 方法返回原始的 int 值。
我们可以使用 Integer.valueOf(String).intValue() 这样子就可以转为 int 类型!!!
- int num = 123;
- String str = String.valueOf(num);
在使用valueOf() 方法时,注意 valueOf 括号中的值不能为空,否则会报空指针异常(NullPointerException)。
- int num = 123;
- String s2 = Integer.toString(num);
- int num =123;
- String str = "" + num;
使用第三种方法("" + num )相对第一第二种耗时比较大!!!
最常用的,甚至可以说,都是这么用的!!!
- String str = "abc";
- char c = str.charAt(1);
有一点点特殊!是将String转化为字符串数组!!!相当于 char[]
- String str = "abc";
- char[] chars = str.toCharArray();

将char转换为String大致有4种方法!!!
- char c = 'a';
- String str = String.valueOf(c);
和上面的基本一样,都是用 valueOf() 方法,只不过是参数不一样!!!
- char[] c = {'a','b','c'};
- String str = String.valueOf(c);
Character.toString(char)方法实际上直接返回String.valueOf(char)
- char c = 'a';
- String str = "" + c;
虽然这个方法很简单,但这是效率最低的方法
因为String类是 final 属性
"" + 'c' 时候需要创建新的 String 类 ,如果进行很多次拼接则要创建很多个类虚拟机栈可能会溢出
- int number = 9;
- char cNumber = (char) (number + '0');
- System.out.println(cNumber);
9 + '0':0的ascall值为48,9+48 = 57,57对应的ascall是'9'
- char c = '3';
- int num = c - '0';
- System.out.println(num);
'3' - '0': 相当于ascall值的51-48 = 3,将将其强转为int,就是3!