首页 > 编程语言 >Java中 String与基本数据类型,包装类,char[],byte[]之间的转换

Java中 String与基本数据类型,包装类,char[],byte[]之间的转换

时间:2022-11-17 10:34:03浏览次数:45  
标签:Java String 数据类型 System gbk println byte out

  1. String与基本数据类型,包装类之间的转换。
    String转换为基本数据类型,包装类:调用包装类的parseXxx(str)方法
String str1="456";
//string转换为int类型
int str2 = Integer.parseInt(str1);
System.out.println(str2);

2.基本数据类型,包装类转换为String:调用String重载的valueOf(xxx)方法。

int str3=123;
String str4 = String.valueOf(str3);
System.out.println(str4);

3.String与char[]数组之间的转换

3.1.String转换为char[] 调用toCharArray()

String s1="helloworld";
char[] chars = s1.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);
}

3.2.char[]数组转换为String 调用:String的构造器

char[] chars1 = {'h', 'e', 'l', 'l', 'o'};
String s2=new String(chars1);
System.out.println(s2);

4.String与byte[] (字节数组)之间的相互转换
4.1.编码:
String 转换为 byte[] :调用String的getBytes()

String s1="ab1024程序员";
byte[] bytes = s1.getBytes();//使用默认的字符集进行转换,我的是UTF-8
System.out.println(Arrays.toString(bytes));
输出结果:[97, 98, 49, 48, 50, 52, -25, -88, -117, -27, -70, -113, -27, -111, -104]

try {
byte[] gbks = s1.getBytes("gbk");//使用gbk字符集进行编码
System.out.println(Arrays.toString(gbks));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
输出结果:[97, 98, 49, 48, 50, 52, -77, -52, -48, -14, -44, -79]
UTF-8 一个汉字代表三个字节 GBK中代表两个字节

4.2.解码:
byte[] 转换为 String :调用String的构造器

try {
byte[] gbks = s1.getBytes("gbk");//使用gbk字符集进行编码
System.out.println(Arrays.toString(gbks));

String s2 = new String(bytes);
System.out.println(s2);

String s3 = new String(gbks);//因为这个没有使用默认的字符集,进行解码,所以导致乱码
System.out.println(s3);
String gbk = new String(gbks, "gbk");//没有出现乱码,因为编码集和解码集一致!
System.out.println(gbk);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
输出结果:ab1024����Ա
ab1024程序员
ab1024程序员


标签:Java,String,数据类型,System,gbk,println,byte,out
From: https://blog.51cto.com/u_15880918/5860075

相关文章