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

Posted 路宇_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中 String与基本数据类型,包装类,char[],byte[]之间的转换相关的知识,希望对你有一定的参考价值。

  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与基本数据类型,包装类,char[],byte[]之间的转换的主要内容,如果未能解决你的问题,请参考以下文章

java中怎样把double基本数据类型包装在Double类

基本数据类型,包装类型,String类型数据之间的转换

java常用类

java常用类

Java中String与数组基本数据类型等的转换

Java中String与数组基本数据类型等的转换