zoukankan      html  css  js  c++  java
  • Java String字符串的部分操作

    String转换为int

    String 字符串转整型 int 有以下两种方式:

    • Integer.parseInt(str)
    • Integer.valueOf(str).intValue()
      注意:Integer 是一个类,是 int 基本数据类型的封装类。后续会讲到。
      例如下面代码所示:
    public static void main(String[] args) {
        String str = "123";
        int n = 0;
        // 第一种转换方法:Integer.parseInt(str)
        n = Integer.parseInt(str);
        System.out.println("Integer.parseInt(str) : " + n);
        // 第二种转换方法:Integer.valueOf(str).intValue()
        n = 0;
        n = Integer.valueOf(str).intValue();
        System.out.println("Integer.parseInt(str) : " + n);
    }
    

    运行结果如下图:

    在 String 转换 int 时,String 的值一定是整数,否则会报数字转换异常(java.lang.NumberFormatException)。

    int转换为String

    整型 int 转 String 字符串类型有以下 3 种方法:

    • String s = String.valueOf(i);
    • String s = Integer.toString(i);
    • String s = "" + i;

    例如下面代码所示:

    public static void main(String[] args) {
        int num = 10;
        // 第一种方法:String.valueOf(i);
        num = 10;
        String str = String.valueOf(num);
        System.out.println("str:" + str);
        // 第二种方法:Integer.toString(i);
        num = 10;
        String str2 = Integer.toString(num);
        System.out.println("str2:" + str2);
        // 第三种方法:"" + i;
        String str3 = num + "";
        System.out.println("str3:" + str3);
    }
    

    输出结果为:

    使用第三种方法相对第一第二种耗时比较大。在使用第一种 valueOf() 方法时,注意 valueOf 括号中的值不能为空,否则会报空指针异常(NullPointerException)。

    字符串连接

    推荐资料:http://c.biancheng.net/view/5790.html

    获取字符串长度

    在 Java 中,要获取字符串的长度,可以使用 String 类的 length() 方法,其语法形式如下:

    字符串名.length();
    

    字符串大小写转换(toLowerCase()和toUpperCase())

    String 类的 toLowerCase() 方法可以将字符串中的所有字符全部转换成小写,而非字母的字符不受影响。语法格式如下:

    字符串名.toLowerCase()    // 将字符串中的字母全部转换为小写,非字母不受影响
    

    toUpperCase() 则将字符串中的所有字符全部转换成大写,而非字母的字符不受影响。语法格式如下:

    字符串名.toUpperCase()    // 将字符串中的字母全部转换为大写,非字母不受影响
    

    例如:

    String str="abcdef 我 ghijklmn";
    System.out.println(str.toLowerCase());    // 输出:abcdef 我 ghijklmn
    System.out.println(str.toUpperCase());    // 输出:ABCDEF 我 GHIJKLMN
    

    去除字符串中的空格(trim())

    字符串中存在的首尾空格一般情况下都没有任何意义,如字符串“ Hello ”,但是这些空格会影响到字符串的操作,如连接字符串或比较字符串等,所以应该去掉字符串中的首尾空格,这需要使用 String 类提供的 trim() 方法。
    trim() 方法的语法形式如下:

    字符串名.trim()
    

    使用 trim() 方法的示例如下:

    String str = " hello ";
    System.out.println(str.length());    // 输出 7
    System.out.println(str.trim().length());    // 输出 5
    

    如果不确定要操作的字符串首尾是否有空格,最好在操作之前调用该字符串的 trim() 方法去除首尾空格,然后再对其进行操作。

    可变字符串

    -StringBuffer(字符串加减,同步,性能好)
    -StringBuilder(字符串加减,不同步,性能更好)

    StringBuffer和StringBuilder的方法基本一样,区别在同步。

    • append/insert/delete/replace/substring
    • length:字符串实际大小;capacity:字符串占用空间大小。
    • timTosize():去除空隙,将字符串存储压缩到实际大小。
    • 如有大量append,事先预估大小,再调用相应构造函数。
      StringBuffer类参考资料:http://c.biancheng.net/view/852.html
  • 相关阅读:
    现在转战c++的领域,纯幼儿园
    LeetCode:Majority Element
    LeetCode:Partition List
    LeetCode:Balanced Binary Tree(判断是否为二叉平衡树)
    LeetCode:Binary Tree Zigzag Level Order Traversal
    LeetCode:Binary Tree Level Order Traversal II (按层遍历)
    LeetCode:Binary Tree Postorder Traversal(二叉树的后序遍历)
    LeetCode:BInary Tree Inorder Traversal(二叉树的中序遍历)
    LeetCode:Binary Tree Preorder Traversal(二叉树的先序遍历)
    LeetCode:Implement Queue using Stacks
  • 原文地址:https://www.cnblogs.com/Acapplella/p/13339067.html
Copyright © 2011-2022 走看看