文章目录
一、字符类型转换为Int类型(即字符值转化为其对应的ASCII值)
// 将字符类型(Char)转化为Int类型(即字符值转化为其对应的ASCII值)
int aAsciiValue = 'a';
int qAsciiValue = 'q';
System.out.println(aAsciiValue);
System.out.println(qAsciiValue);
二、数值转字符(即ASCII值转化为对应的字符)
int aAsciiValue = 97;
int bAsciiValue = 98;
//将数值转化为字符(即ASCII值转化为字符)
char aChar = (char) aAsciiValue;
char bChar = (char) bAsciiValue;
System.out.println(aChar);
System.out.println(bChar);
三、字符串转数值 (字符必须为数值型字符)
String str = "123";//注意:必须为数值型字符串
int str2Data = Integer.parseInt(str);
如果不是数值型字符串,则会报一个异常,例如:
String str = "hello";//非数值型字符串
int str2Data = Integer.parseInt(str);//非数值型字符串转化的时候会报异常
会报如下异常:
Exception in thread "main" java.lang.NumberFormatException: For input string: "hello"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
...
四、数值转字符串
数值转化为字符串的方法比较多,具体如下:
(1)data+””
data可以是任意数值类型
int intData = 199;
String intData2Str = intData + "";
System.out.println(intData2Str);
double douData = 199.99;
String douData2Str = douData + "";
System.out.println(douData2Str);
(2) String.valueOf(value)
其中 value 为任意一种数值类型。
int iData = 106;
String iData2Str = String.valueOf(iData);
System.out.println(iData2Str);
double dData = 10.02;
String dData2Str = String.valueOf(dData);
System.out.println(dData2Str);
当对象为空时,会报异常:
String str = String.valueOf(null);//报空指针异常
报如下异常:
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.<init>(Unknown Source)
at java.lang.String.valueOf(Unknown Source)
...
(3)Object.toString()
int iData = 106;
double dData = 10.02;
String iData2Str1 = Integer.valueOf(iData).toString();
String dData2Str1 = Double.valueOf(dData).toString();
注意:
(1)先要将基本类型,转换为其对应的包装类
即上述的:Integer.valueOf(iData) 和 Double.valueOf(dData)
(2)在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。
(4)(String)要转化的对象
- 需要注意的是类型必须能转成String类型。
因此最好用instanceof做个类型检查,以判断是否可以转换。否则容易抛出CalssCastException异常。
- 此外,需特别小心的是因定义为Object类型的对象在转成String时语法检查并不会报错,这将可能导致潜在的错误存在。这时要格外小心。
- 此外,因null值可以强制转换为任何java类类型,(String)null也是合法的。
参考:
java如何将char类型的数字转换成int型的数字
Java字符串和数字间的转换