常用类03/String的转换⭐
String的转换
1. String与基本数据类型包装类的转换
- String–>基本数据类型、包装类:调用包装类的静态方法: parseXxx ( str)
基本数据类型、包装类–> String:调用string重载的value0f(xxx)
package com.cyl;
import org.junit.Test;
public class StringMethodTest {
@Test
public void test(){
String str1 = "123";
//int num = (int)str1; 错误!
int num = Integer.parseInt(str1);//123
String str2 = String.valueOf(num); //"123"
String str3 = num+"45";
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
System.out.println(str1 == str2);
}
}
结果
string 与char[]之间的转换
string–>char[ ]:调用string的tocharArray()
package com.cyl;
import org.junit.Test;
public class StringMethodTest {
@Test
public void test(){
String str1 = "abc123";
char[] charArray = str1.toCharArray();
for(int i = 0;i < charArray.length;i++){
System.out.println(charArray[i]);
}
}
}
结果
char[] —> string:调用string的构造器
package com.cyl;
import org.junit.Test;
public class StringMethodTest {
@Test
public void test(){
char[] arr = new char[]{
'h','e','l','l','o'};
String str2 = new String(arr);
System.out.println(str2);
}
}
结果
2. String与byte[]之间的转换
编码:字符串–>字节(看得懂—>看不懂的二进制数据)
解码:编码的逆过程,字节–〉字符串―(看不懂的二进制数据—>看得懂>)
注:UnsupportedEncodingException ————>转码异常!!
编码:String —> byte[]:调用string 的getBytes()
package com.cyl;
import org.junit.Test;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
public class StringMethodTest {
@Test
public void test() throws UnsupportedEncodingException {
String str1 = "abc123";
byte[] bytes = str1.getBytes();//使用默认的字符集,进行转换
System.out.println(Arrays.toString(bytes));
String str2 = "中国";
byte[] bytes1 = str2.getBytes();//使用默认的字符集,进行转换
byte[] gbks = str2.getBytes("gbk");//使用gbk字符集进行编码
System.out.println(Arrays.toString(bytes1));
System.out.println(Arrays.toString(gbks));
}
}
结果
解码: byte[] —> string:调用string的构造器
package com.cyl;
import org.junit.Test;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
public class StringMethodTest {
@Test
public void test() throws UnsupportedEncodingException {
String str1 = "中国";
//编码1
byte[] bytes = str1.getBytes();//使用默认的字符集,进行转换
//编码2
byte[] gbks = str1.getBytes("gbk");//使用gbk字符集进行编码
System.out.println(Arrays.toString(bytes));
//解码
String str2 = new String(bytes);//使用默认的字符串,进行解码。
System.out.println(str2);
String str3 = new String(gbks);
System.out.println(str3);//出现乱码,因为编码集和解码集不一致
String str4 = new String(gbks,"gbk");
System.out.println(str4);
}
}
结果
还没有评论,来说两句吧...