String与基本数据类型、包装类之间的转换
/*
String 与基本数据类型、包装类之间的转换。
String -->基本数据类型、包装类:调用包装类的静态方法:parseXxx(str)
基本数据类型、包装类-->String:调用String重载的valueOf(xxx)
*/
@Test
public void test1() {
String str1 = "123";
// int num = (int)str1; //错误的
int num = Integer.parseInt(str1);//123
String str2 = String.valueOf(num);//"123"
}
String与char[]之间的转换
String与char[]之间的转换
String-->char[]:调用String的toCharArray()
char[]-->String:调用String的构造器
*/
@Test
public void test2() {
String str1 = "abc123";
char[] charArray =str1.toCharArray();
// for (int i = 0; i < charArray.length; i++) {
// System.out.println(charArray[i]);
// }
System.out.println(Arrays.toString(charArray));
String str2 = new String(charArray);
System.out.println(str2);
}
String 与byte[]之间的转换
/*
String 与byte[]之间的转换
Sting --> byte[]:调用String的getBytes()
byte[]-->String:调用String的构造器
编码:字符串-->字节
解码:字节-->字符串
*/
@Test
public void test3() {
String str1 = "abc123你好";
byte[] bytes = str1.getBytes();//使用默认的字符集,进行转换
System.out.println(Arrays.toString(bytes));//[97, 98, 99, 49, 50, 51, -28, -67, -96, -27, -91, -67]
System.out.println(new String(bytes));
try {
byte[] gbks = str1.getBytes("GBK");
System.out.println(Arrays.toString(gbks));//[97, 98, 99, 49, 50, 51, -60, -29, -70, -61]
String str2 = new String(gbks,"GBK");
System.out.println(str2);//abc123你好
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}