image.png
    image.png
    image.png

    1. package com.atguigu.java2;
    2. import org.junit.Test;
    3. import java.io.UnsupportedEncodingException;
    4. import java.util.Arrays;
    5. /**
    6. * 涉及到String类与其他结构之间的转换
    7. *
    8. *
    9. * @author Dxkstart
    10. * @create 2021-05-09 16:04
    11. */
    12. public class StringTest2 {
    13. /*
    14. 复习:
    15. String 与基本数据类型、包装类之间的转换。
    16. String --> 基本数据类型、包装类:调用包装类的静态方法:passXxx(str)
    17. 基本数据类型、包装类 --> String:调用String重载的valueOf(xxx)
    18. */
    19. @Test
    20. public void test1(){
    21. String str1 = "123";
    22. // int num = (int)str1;//错误的
    23. int num = Integer.parseInt(str1);
    24. System.out.println(num);
    25. String s = String.valueOf(num);
    26. System.out.println(s);
    27. }
    28. /*
    29. String 与 char[]之间的转换
    30. String --> cahr[]:调用String的toCharArray()
    31. char[] --> String:调用String的构造器
    32. */
    33. @Test
    34. public void test2(){
    35. String str1 = "abc123";
    36. char[] chars = str1.toCharArray();
    37. for(int i = 0;i< chars.length;i++){
    38. System.out.println(chars[i]);
    39. }
    40. char[] arr = new char[]{'h','e','l','l','o'};
    41. String str = new String(arr);
    42. System.out.println(str);
    43. }
    44. /*
    45. String 与 byte[]之间的转换
    46. 编码:String --> byte[]:调用String的getByte()
    47. 解码:byte[] --> String:
    48. 编码:字符串 --> 字节(看得懂 --->看不懂的二进制数据)
    49. 解码;编码的逆过程,字节 -->字符串(看不懂的二进制数据 --->看得懂)
    50. */
    51. @Test
    52. public void test3() throws UnsupportedEncodingException {
    53. String str1 = "abc123中国";
    54. byte[] bytes = str1.getBytes();//使用默认的字符集,进行编码
    55. System.out.println(Arrays.toString(bytes));
    56. byte[] gbks = str1.getBytes("gbk");
    57. System.out.println(Arrays.toString(gbks));
    58. System.out.println("*****************");
    59. String str2 = new String(bytes);//使用默认的字符集,进行解码
    60. System.out.println(str2);
    61. String str3 = new String(gbks);
    62. System.out.println(str3);//出现乱码。原因,编码集和解码集不一致!
    63. String str4 = new String(gbks, "gbk");
    64. System.out.println(str4);
    65. }
    66. }