String类型与其他类型之间转换所调用的方法

  1. String类型转化为int 型
  2. String 与 char型数组之间的转换
  3. String 与 byte[] 之间的转换
public class StringMethod04 {
     
    /*
  String 与其他类型之间的转换

  */
    @Test
    // String类型转化为int 型
    public void test(){
     
        String s="123";
        int a=Integer.parseInt(s);
        System.out.println(a);


        int b=123;
        String s1=String.valueOf(b);
        System.out.println(s1);
    }
    /*
    String 与 char型数组之间的转换
     */

    @Test
    public void test2(){
     
        String s="1254";
        char [] chars=s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
     
            System.out.println(chars[i]);

        }

        char [] chars1=new char[]{
     'a','b','c'};
        String s1=new String(chars1);
        System.out.println(s1);
    }
/*
String 与 byte[](AsccI值) 之间的转换

一: 编码:String ——> byte[]: 调用 String的 getbytes()
    解码: byte[]——> String: 调用String 的构造器

    编码 "字符串转化为看不懂的二进制"
    解码 "编码的逆过程"
 */
    @Test
    public void test3(){
     
        String s="abc123中国";
        byte[]bytes=s.getBytes();
        System.out.println(Arrays.toString(bytes));//使用默认的字符集进行转换,编码

        byte[] gbk= new byte[0];
        try {
     
            gbk = s.getBytes("gbk");
        } catch (UnsupportedEncodingException e) {
     
            e.printStackTrace();
        }
        System.out.println(Arrays.toString(gbk));//不同的编码体制中 中文所占的字节数不同

        String s1 = new String(bytes);// 进行了解码操作
        System.out.println(s1);

         String s2=new String(gbk);//会出现乱码,原因编码集不同
        System.out.println(s2);

        try {
     
            String s3=new String(gbk,"gbk");//解码集应该与编码集相同
            System.out.println(s3);
        } catch (UnsupportedEncodingException e) {
     
            e.printStackTrace();
        }

    }

}

你可能感兴趣的:(java高级程序设计,字符串,java)