Java中 String与基本数据类型,包装类,char[],byte[]之间的转换
Posted 路宇_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中 String与基本数据类型,包装类,char[],byte[]之间的转换相关的知识,希望对你有一定的参考价值。
- 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与基本数据类型,包装类,char[],byte[]之间的转换的主要内容,如果未能解决你的问题,请参考以下文章