9.2.String与其他类型的转换

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

String->基本数据类型,包装类 :调用包装类的静态方法:parsexxx(str)
基本数据类型,包装类 ->String:调用String重载的valueof(xxx)

        String s1="123";
        //String-->Integer
        int num = Integer.parseInt(s1);

        //Integer-->String
        String s2 = String.valueOf(num);
        System.out.println(s2);

2.String 与char[]之间的转换

String->char[]:调用String的toCharArray()
char[]->String:调用String的构造器

        String s1="abc123";
        //String-->char[]
        char[] chars = s1.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i]);
        }
        
        //char[]-->String
        String s2 = new String(chars);
        System.out.println(s2);

3. String与byte[]之间的转换

编码:String->byte[]:调用String的getBytes()
解码:byte[]->String:调用String的构造器

        String s1="abc123中国";//utf-8:三个字节一个汉字   gbk:两个字节一个汉字

        //String-->byte[]
        byte[] bytes = s1.getBytes();//使用默认的字符集进行编码
        System.out.println(Arrays.toString(bytes));

4.String 与StringBuffer,StringBuilder的转换

String --->StringBuffer,StringBuilder:调用StringBuffer,StringBuilder的构造器
StringBuffer,StringBuilder--->String:
1)调用String的构造器;
2)StringBuffer,StringBuilder的toString()方法

         String s1="abc";
        //String--->StringBuffer,Stringbuilder
        StringBuffer sb=new StringBuffer(s1);
        //StringBuffer,StringBuilder--->String
        String s2=new String(sb); 

posted @ 2021-04-16 17:26  袁中  阅读(49)  评论(0编辑  收藏  举报