-
基本数据类型之间的转换
byte ---> short ---> int ---> long ---> float ---> double
char ---> int ---> long ---> float ---> double
低精度可以自动向高精度类型转换:
// 用一个更高精度的变量来接收低精度的值
double num1 = 12.0F;
而高精度向底精度类型转换时,则必须要用强制类型转换符(有精度损失慎用):
// 用强制类型转换符来将低精度类型的值转换为高精度的值, 再赋值给高精度变量
int num2 = (float)12.0;
注意:byte、short 不可以和 char 进行转换,byte、short、char三者在运算时只要出现一个,都会先转成 int 类型,再进行运算。
-
基本数据类型和 String 相互转换
基本数据类型转为 String,在后面加上一个空字符串就行。
// 基本数据类型转为 String
String str1 = 121F + "";
String str2 = true + "";
String 转为基本数据类型,用该数据类型的工具类方法: Xxx.parseXxx(String str)。
// String 转为基本数据类型
byte num1 = Byte.parseByte("123");
short num2 = Short.parseShort("123");
int num3 = Integer.parseInt("123");
long num4 = Long.parseLong("123");
float num5 = Float.parseFloat("123.0F");
double num6 = Double.parseDouble("123.0");
boolean num7 = Boolean.parseBoolean("true");
-
String 和 char数组的转换
String转换为char数组。
// 方法一: 用charAt() 方法将字符串内的字符一个个取出来赋值给字符数组
String str = "String";
char[] charArr1 = new char[str.length()];
for (int i = 0; i < str.length(); i++) {
charArr1[i] = str.charAt(i);
}
// 方法二: 用toCharArray() 方法直接转成字符数组
char[] charArr2 = str.toCharArray();
char数组转换为String。
// 方法一: 直接将字符数组作为参数传入到String的构造函数中
char[] charArr = {'a', 'b', 'c'};
String str1 = new String(charArr);
// 方法二: 用String.valueOf(char[] charArr)方法直接转成字符串
String str2 = String.valueOf(charArr);
// 方法三: 使用StringBuilder, 一个个添加元素
StringBuilder sb = new StringBuilder();
for (char c : charArr) {
sb.append(c);
}