Java - String字符串的部分操作

Posted Acapplella

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Java - String字符串的部分操作的主要内容,如果未能解决你的问题,请参考以下文章

通过 Java 正则表达式提取 semver 版本字符串的片段

Java程序片段

如何在 Scala 中使用 java.String.format?

Java之String相关内容详解(字符串和字符串常量池)面试题

CSP核心代码片段记录

java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常(代码片段