Java中String转换方法

导读:本篇文章讲解 Java中String转换方法,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前记

笔者自身对于String转换缺少整理,常常感觉比较混乱T T,特在此规范一下方法~

正文

1.1 String与基本数据类型(int、char、float、…)

  • 基本数据类型 → String

    1. 方法一:变量+“”
    2. 方法二:调用String.valueOf方法
    int number = 1;
    String s1 = number+"";  //方法一:直接加引号
    String s2 = String.valueOf(number); //方法二:调用String类中valueOf方法
    System.out.println(s1 == s2); // false
    

    为什么s1和s2地址不相同?

    1. s1方法底层使用StringBuffer.append()实现,最后通过sb.toString()新建一个字符串
    2. s2方法底层调用包装类.toString()方法,仍然是新建了一个字符串
      在这里插入图片描述
      在这里插入图片描述

    s1,s2都是位于堆的新建字符串,地址值不同

  • String → 基本数据类型
    基本数据类型对应包装类.parse包装类

    String s1 = "00101";
    String s2 = "-00101";
    int i1 = Integer.parseInt(s1); //此方法可以自动抹去字符串前面的0
    System.out.println(i1); //打印101
    int i2 = Integer.parseInt(s2); //可以识别“-”、“+”转换成正负数,如果含非法错误会抛出NumberFormatException
    

1.2 String和包装类(Integer、Character、Double)

和基本数据类型用法类似(由于存在自动装箱、拆箱),不过包装类对象可以直接调用toString()方法转换成String


1.3 String和char[]数组

  • char[ ] → String

    1. 调用String有参构造器,字符数组作为参数
    2. 调用String.valueOf方法
    char[] ss = new char[]{'a','c','b'};
    String s1 = new String(ss);
    String s2 = String.valueOf(ss);  //底层还是相当于调用了new String(char[] data)
    

    注意!
    Arrays.toString()方法不能将一个基本数据类型数组变为正确的字符串,它只是起一个打印作用!

    char[] ss = new char[]{'a','c','b'};
    String s1 = new String(ss);
    String s2 = Arrays.toString(ss);
    System.out.println(s1.length()); //3
    System.out.println(s2.length()); //9 ('['、']'各一个字符,','+空格两个字符,每个元素各一个字符)
    

    底层代码
    在这里插入图片描述

  • String → char[ ]
    调用String类中的toCharArray()方法

    String s = "abc";
    char[] ss = s.toCharArray();
    

(其他混乱待编辑 z z z

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/75096.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!