String 字符串详解 / 常用API

Posted dajiaoniu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String 字符串详解 / 常用API相关的知识,希望对你有一定的参考价值。

String 详解 / 常用API

简介

  String 是不可改变的字符串序列。String 为字符串常量

  StringBuilder 与StringBuffer 均为可改变的字符串序列。为字符串变量

    StringBuilder 是非线程安全的 (JDK 1.5)

    StringBuffer 是线程安全的 (JDK 1.0)

  总结:  

    String : 适用于少量的字符串操作的情况

    StringBuilder : 适用于单线程下在字符缓冲区进行大量操作的情况

    StringBuffer : 适用于多线程下载字符缓冲区进行大量操作的情况

 

String API 详解

  判断

    判断内容是否相同

    •     boolean equals()   对字符串进行判断,是否内容相同
    •     boolean equalsIgnoreCase()   对字符串进行判断,忽略大小写

     判断字符串是否以某个字符开头或结尾

    •     boolean startsWith(String prefix)   判断字符串是否以指定字符开头
    •     boolean startsWith(String prefix, int toffset)  判断指定字符串从指定索引开始,是否以指定的字符开头
    •     Boolean endsWith(String suffix)   判断字符串是否以指定字符结尾

  获取

    长度

    •     int  length()   获取字符串的长度

    角标

    •      int  indexOf()   获取开始时的索引

    示例:

技术分享图片
 1         // 定义字符串,
 2         String str1 = "1-2-3-QWE";
 3         /**
 4          * indexOf(int ch) 获取字符第一次出现的索引
 5          * 打印结果 : 1
 6          */
 7         System.out.println(str1.indexOf("-"));
 8 
 9         /**
10          * indexOf(int ch, int fromIndex) 
11          * 获取字符第一次出现的索引,从指定索引开始搜索
12          * 打印结果 : 3
13          */
14         System.out.println(str1.indexOf("-", 2));
15 
16         /**
17          * indexOf(String str, int fromIndex) 
18          * 获取str3字符串str1字符串中的索引
19          * 打印结果 : 6
20          */
21         String str3 = "QW";
22         System.out.println(str1.indexOf(str3, 0));
indexOf
    •               int  lastIndexOf(int ch)   获取字符串最后出现的的索引
    •      int  lastIndexOf(String str)  获取指定子字符串在该字符串中出现的的索引
    •      int  lastIndexOf(String str, int fromIndex)  获取指定子字符串在该字符串中最后出现的的索引

 

  获取字符串指定索引的字符

    •     char charAt(int index)   返回字符串指定索引的值

  其他类型换成字符串

    •      String valueOf()  返回某种类型参数的字符串形式

     示例:

技术分享图片
1         // 定义变量i
2         int i = 123;
3         // 返回整数类型的字符串格式。即把整型转换成字符串格式
4         System.out.println(String.valueOf(i));
valueOf

       去空格

    • String trim()   去除字符串两端空格

    示例:

技术分享图片
1         // 定义字符串,两端带空格
2         String str1 = "  123qwe  ";
3         // 调用trim 去除字符串两端空格
4         // 打印结果 : 123qwe
5         System.out.println(str1.trim());
trim

 

   截取字符串

    •     String subString(int beginIndex)  根据规则,截取字符串

     示例:

技术分享图片
 1 // 定义字符串,两端带空格
 2         String str1 = "1-2-3-QWE";
 3         /**
 4          * String substring(int beginIndex) 
 5          * 截取字符串,截取从索引开始之后的字符串
 6          * (包含索引)
 7          *  打印结果 : 2-3-QWE
 8          */
 9         System.out.println(str1.substring(2));
10 
11         /**
12          * String substring(int beginIndex, int endIndex) 
13          * 截取字符串,截取从索引开始到后一个索引的字符串
14          * (包含前索引,不包含后索引)
15          *  打印结果 : 2-
16          */
17         System.out.println(str1.substring(2, 4));
subString

  拆分字符串

    •     String[] split(String regex)   根据规则,拆分字符串

    示例:

技术分享图片
 1 // 定义字符串,两端带空格
 2         String str1 = "1-2-3-QWE";
 3         /**
 4          * split(String regex) 根据指定规则拆分字符串
 5          * 打印结果 : [1, 2, 3, QWE]
 6          */
 7         String[] str = str1.split("-");
 8         System.out.println(Arrays.toString(str));
 9         /**
10          * split(String regex, int limit) 
11          * 根据指定规则,将字符串拆分成几个字符串
12          * 打印结果 : [1, 2, 3-QWE]
13          */
14         String[] split = str1.split("-", 3);
15         System.out.println(Arrays.toString(split));
split

  替换字符串中的字符

    •     String replace(char oldChar, char newChar)   根据规则,替换字符

    示例:

技术分享图片
1         // 定义字符串,两端带空格
2         String str1 = "1-2-3-QWE";
3         /**
4          * replace(char oldChar, char newChar)
5          * 根据指定规则,替换字符串中的字符。
6          * 打印结果 :1*2*3*QWE
7          */
8         System.out.println(str1.replace("-", "*"));
replace

  转换

    将字符串转换成数组

    •     char[] toCharArray()   将字符串转换成一个新的字符数组

    示例:

技术分享图片
1 // 定义字符串,两端带空格
2         String str1 = "  123QWE  ";
3         // 调用toCharArray() 将字符串中的字符,转换成大写
4         System.out.println(str1.trim().toCharArray());
toCharArray

    字符串的大小写转换

    •     String toUpperCase()   将字符串所有字符转换成大写

    示例:

技术分享图片
1         // 定义字符串,两端带空格
2         String str1 = "  123qwe  ";
3         // 调用toUpperCase 将字符串中的字符,转换成大写
4         System.out.println(str1.toUpperCase());
toUpperCase
    •      String toLowerCase()   将字符串中的所有字符转换成小写

    示例:

技术分享图片
1         // 定义字符串,两端带空格
2         String str1 = "  123QWE  ";
3         // 调用toLowerCase() 将字符串中的字符,转换成大写
4         System.out.println(str1.toLowerCase());
toLowerCase

 

 

 

以上是关于String 字符串详解 / 常用API的主要内容,如果未能解决你的问题,请参考以下文章

stream操作常用API 示例详解

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

C#的String.Split 分割字符串用法详解的代码

面试常用的代码片段

PHP 常用 字符串 函数详解

String类的常用方法详解