@Test
public void test1(){
/*
String与基本数据类型 包装类之间的转换
String-->基本数据类型 包装类 : 调用包装类的静态方法:parseXXX(str)
基本数据类型 包装类-->String: 调用String重载的valueOf(xxx)
*/
String str1="123";
//int num=(int)str1; //错误
int num = Integer.parseInt(str1);
System.out.println(num);
String s = String.valueOf(num);
System.out.println(s);
String s2=num+"";
System.out.println(str1==s2); //false s2在堆里 str1在常量池里
}
@Test
public void test2(){
/*
String与char[]之间的转换
String-->char[] : 调用String的toCharArray
char[]-->String : 调用String的构造器
*/
String str1="abc123";
char[] charArray = str1.toCharArray();
for (int i = 0; i < charArray.length; i++) {
System.out.println(charArray[i]);
}
char[] arr=new char[]{'h','e','l','l','o'};
String str2 = new String(arr);
System.out.println(str2);
}
@Test
public void test01() throws UnsupportedEncodingException {
/*
String与byte[]之间的转换
String-->byte[] : 调用String的getBytes()
*/
String str1="abc123中国";
byte[] bytes = str1.getBytes();
// for (int i = 0; i < bytes.length; i++) {
// System.out.println(bytes[i]);
// }
System.out.println(Arrays.toString(bytes)); //使用默认的字符集 进行转换[97, 98, 99, 49, 50, 51, -28, -72, -83, -27, -101, -67]
byte[] gbks = str1.getBytes("gbk");
System.out.println(Arrays.toString(gbks)); //使用gbk进行编码 [97, 98, 99, 49, 50, 51, -42, -48, -71, -6]