Java中String类方法

char charAt(int index)

  • 语法:char charAt(int index)
  • 参数:index -- 字符的索引。
  • 返回值:返回指定索引处的 char 值。

int compareTo(Object o) / int compareTo(String anotherString)

  • 语法:int compareTo(Object o) / int compareTo(String anotherString)
  • 参数:o -- 要比较的对象。 / anotherString -- 要比较的字符串。
  • 说明:字符串与对象进行比较。 / 按字典顺序比较两个字符串。
  • 返回值:返回值是整型,它是先比较对应字符的大小(ASCII码顺序),
  • 如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,
  • 如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此
  • 类推,直至比较的字符或被比较的字符有一方结束。
  • 如果参数字符串等于此字符串,则返回值 0;
  • 如果此字符串小于字符串参数,则返回一个小于 0 的值;
  • 如果此字符串大于字符串参数,则返回一个大于 0 的值。

int compareToIgnoreCase(String str)

  • 语法:int compareToIgnoreCase(String str)
  • 说明:按字典顺序比较两个字符串,不考虑大小写。

String concat(String str)

  • 参数:s -- 要连接的字符串。
  • 说明:将指定字符串连接到此字符串的结尾。

boolean contentEquals(StringBuffer sb)

  • 语法:boolean contentEquals(StringBuffer sb)
  • 参数:sb -- 要与字符串比较的 StringBuffer。
  • 说明:当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真。
  • 返回值:如字符串与指定 StringBuffer 表示相同的字符序列,则返回 true;否则返回 false。

boolean contentEquals(CharSequence cs)

  • 语法:boolean contentEquals(CharSequence cs)

static String copyValueOf(char[] data) / static String copyValueOf(char[] data, int offset, int count)

  • 语法:static String copyValueOf(char[] data) / static String copyValueOf(char[] data, int offset, int count)
  • 说明:返回指定数组中表示该字符序列的 String。 / 返回指定数组中表示该字符序列的字符串。
  • 参数:data -- 字符数组。 offset -- 子数组的初始偏移量。。 count -- 子数组的长度。
  • 返回值:返回指定数组中表示该字符序列的字符串。

boolean endsWith(String suffix)

  • 语法:boolean endsWith(String suffix)
  • 说明:测试此字符串是否以指定的后缀结束。
  • 返回值:如果给定对象与字符串相等,则返回 true;否则返回 false。

boolean equals(Object anObject)

  • 语法:boolean equals(Object anObject)
  • 说明:将此字符串与指定的对象比较。

boolean equalsIgnoreCase(String anotherString)

  • 语法:boolean equalsIgnoreCase(String anotherString)
  • 说明:将此 String 与另一个 String 比较,不考虑大小写。

byte[] getBytes() / getBytes(String charsetName)

  • 语法:byte[] getBytes() / getBytes(String charsetName)
  • 说明:使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 / 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
  • 参数:charsetName -- 支持的字符集名称。
  • 返回值:返回 byte 数组。

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

  • 语法:void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
  • 说明:将字符从此字符串复制到目标字符数组。
  • 参数:srcBegin -- 字符串中要复制的第一个字符的索引。 srcEnd -- 字符串中要复制的最后一个字符之后的索引。 dst -- 目标数组。 dstBegin -- 目标数组中的起始偏移量。
  • 返回值:没有返回值,但会抛出 IndexOutOfBoundsException 异常。

int hashCode()

  • 语法:int hashCode()
  • 说明:返回此字符串的哈希码。使用 int 算法,这里 s[i] 是字符串的第 i 个字符,n 是字符串的长度,^ 表示求幂。空字符串的哈希值为 0。

int indexOf(int ch) / int indexOf(int ch, int fromIndex) / int indexOf(String str) / int indexOf(String str, int fromIndex)

  • 语法:int indexOf(int ch) / int indexOf(int ch, int fromIndex) / int indexOf(String str) / int indexOf(String str, int fromIndex)
  • 用法:返回指定字符在此字符串中第一次出现处的索引。如果此字符串中没有这样的字符,则返回 -1。 /
  • 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 /
  • 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 /
  • 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

String intern()

  • 语法: String intern()
  • 用法:返回字符串对象的规范化表示形式。它遵循以下规则:对于任意两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。
  • 返回值:一个字符串,内容与此字符串相同,但一定取自具有唯一字符串的池。

int lastIndexOf(int ch) / int lastIndexOf(int ch, int fromIndex) / int lastIndexOf(String str) / int lastIndexOf(String str, int fromIndex)

  • 语法:int lastIndexOf(int ch) / int lastIndexOf(int ch, int fromIndex) / int lastIndexOf(String str) / int lastIndexOf(String str, int fromIndex)
  • 用法:返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 /
  • 返返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 /
  • 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 /
  • 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

int length()

  • 语法: int length()
  • 用法:返回此字符串的长度。

boolean matches(String regex)

  • 语法:boolean matches(String regex)
  • 用法:告知此字符串是否匹配给定的正则表达式。
  • 参数:regex -- 匹配字符串的正则表达式。

boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) / boolean regionMatches(int toffset, String other, int ooffset, int len)

  • 语法:boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) / 
  •  boolean regionMatches(int toffset, String other, int ooffset, int len)
  •  用法:测试两个字符串区域是否相等。
  •  参数:ignoreCase -- 如果为 true,则比较字符时忽略大小写。 / 
  •  toffset -- 此字符串中子区域的起始偏移量。 / 
  •  other -- 字符串参数。 / 
  •  ooffset -- 字符串参数中子区域的起始偏移量。 / 
  •  len -- 要比较的字符数。
  •  返回值:如果字符串的指定子区域匹配字符串参数的指定子区域,则返回 true;否则返回 false。是否完全匹配或考虑大小写取决于 ignoreCase 参数。

String replace(char oldChar, char newChar)

  •  语法:String replace(char oldChar, char newChar)
  •  说明:返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
  •  参数:oldChar -- 原字符。 / newChar -- 新字符。

String replaceAll(String regex, String replacement)

  • 语法:String replaceAll(String regex, String replacement)
  • 用法:使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
  • 参数:regex -- 匹配此字符串的正则表达式。 / newChar -- 用来替换每个匹配项的字符串。
  • 返回值:成功则返回替换的字符串,失败则返回原始字符串。

String replaceFirst(String regex, String replacement)

  • 语法:String replaceFirst(String regex, String replacement)
  • 说明:使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
  • 参数:regex -- 匹配此字符串的正则表达式。 / replacement -- 用来替换第一个匹配项的字符串。
  • 返回值:成功则返回替换的字符串,失败则返回原始字符串。

String[] split(String regex) / String[] split(String regex, int limit)

  • 语法:String[] split(String regex) / String[] split(String regex, int limit)
  • 说明:根据给定正则表达式的匹配拆分此字符串。
  • 注意: . 、 | 和 * 等转义字符,必须得加 \\。多个分隔符,可以用 | 作为连字符。
  • 参数:regex -- 正则表达式分隔符。 / limit -- 分割的份数。

boolean startsWith(String prefix) / boolean startsWith(String prefix, int toffset)

  • 语法:boolean startsWith(String prefix) / boolean startsWith(String prefix, int toffset)
  • 说明:测试此字符串是否以指定的前缀开始。
  • 参数:prefix -- 前缀。 / toffset -- 字符串中开始查找的位置。

CharSequence subSequence(int beginIndex, int endIndex)

  • 语法:CharSequence subSequence(int beginIndex, int endIndex)
  • 说明:返回一个新的字符序列,它是此序列的一个子序列。

String substring(int beginIndex) / String substring(int beginIndex, int endIndex)

  • 语法:String substring(int beginIndex) / String substring(int beginIndex, int endIndex)
  • 说明:返回一个新的字符串,它是此字符串的一个子字符串。

char[] toCharArray()

  • 语法:char[] toCharArray()
  • 说明:将此字符串转换为一个新的字符数组。

String toLowerCase() / String toLowerCase(Locale locale)

  • 语法:String toLowerCase() / String toLowerCase(Locale locale)
  • 说明:使用默认语言环境的规则将此 String 中的所有字符都转换为小写。/
  • 使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。

String toString()

  • 语法:String toString()
  • 说明:返回此对象本身(它已经是一个字符串!)。

String toUpperCase() / String toUpperCase(Locale locale)

  • 语法:String toUpperCase() / String toUpperCase(Locale locale)
  • 说明:使用默认语言环境的规则将此 String 中的所有字符都转换为大写。 / 
  • 使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。

String trim()

  • 语法:String trim()
  • 用法:返回字符串的副本,忽略前导空白和尾部空白。

static String valueOf(primitive data type x)

  • valueOf(boolean b): 返回 boolean 参数的字符串表示形式。
  • valueOf(char c): 返回 char 参数的字符串表示形式。
  • valueOf(char[] data): 返回 char 数组参数的字符串表示形式。
  • valueOf(char[] data, int offset, int count): 返回 char 数组参数的特定子数组的字符串表示形式。
  • valueOf(double d): 返回 double 参数的字符串表示形式。
  • valueOf(float f): 返回 float 参数的字符串表示形式。
  • valueOf(int i): 返回 int 参数的字符串表示形式。
  • valueOf(long l): 返回 long 参数的字符串表示形式。
  • valueOf(Object obj): 返回 Object 参数的字符串表示形式。

Demo

import java.io.UnsupportedEncodingException;


public class Test01 {
    public static void main(String[] args) {
        
        String s = "     a3A1ab.bBtcc.cddd   ";
        String s1 = "www.baidu.comAAAAAAAAAAA";
        String s2 = "www.baidu.com";
        String s3 = s + s1;
        StringBuffer sb = new StringBuffer("a3a1ab.bbtCc.cddd");
        char[] cArray = {'h' , 'e' , 'o'};
        
        /*
         * 语法:char charAt(int index)
         * 参数:index -- 字符的索引。
         * 返回值:返回指定索引处的 char 值。
         */
        System.out.println(s.charAt(1));
        
        /*
         * 语法:int compareTo(Object o) / int compareTo(String anotherString)
         * 参数:o -- 要比较的对象。 / anotherString -- 要比较的字符串。
         * 说明:字符串与对象进行比较。 / 按字典顺序比较两个字符串。
         * 返回值:返回值是整型,它是先比较对应字符的大小(ASCII码顺序),
         *            如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,
         *            如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此
         *            类推,直至比较的字符或被比较的字符有一方结束。
         *            如果参数字符串等于此字符串,则返回值 0;
         *            如果此字符串小于字符串参数,则返回一个小于 0 的值;
         *            如果此字符串大于字符串参数,则返回一个大于 0 的值。
         */
        System.out.println(s.compareTo(s1));
        
        /*
         * 语法:int compareToIgnoreCase(String str)
         * 说明:按字典顺序比较两个字符串,不考虑大小写。
         */
        System.out.println(s.compareToIgnoreCase(s1));
        
        /*
         * 语法:String concat(String str)
         * 参数:s -- 要连接的字符串。
         * 说明:将指定字符串连接到此字符串的结尾。
         */
        System.out.println(s.concat(s1));
        
        /*
         * 语法:boolean contentEquals(StringBuffer sb)
         * 参数:sb -- 要与字符串比较的 StringBuffer。
         * 说明:当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真。
         * 返回值:如字符串与指定 StringBuffer 表示相同的字符序列,则返回 true;否则返回 false。
         */
        System.out.println(s.contentEquals(sb));
        
        /*
         * 语法:boolean contentEquals(CharSequence cs)
         */
        System.out.println(s.contentEquals(s1));
        
        /*
         * 语法:static String copyValueOf(char[] data) / static String copyValueOf(char[] data, int offset, int count)
         * 说明:返回指定数组中表示该字符序列的 String。 / 返回指定数组中表示该字符序列的字符串。
         * 参数:data -- 字符数组。 offset -- 子数组的初始偏移量。。  count -- 子数组的长度。
         * 返回值:返回指定数组中表示该字符序列的字符串。
         */
        System.out.println(s.copyValueOf(cArray));
        
        /*
         * 语法:boolean endsWith(String suffix)
         * 说明:测试此字符串是否以指定的后缀结束。
         * 返回值:如果给定对象与字符串相等,则返回 true;否则返回 false。
         */
        System.out.println(s.endsWith("d"));
        
        /*
         * 语法:boolean equals(Object anObject)
         * 说明:将此字符串与指定的对象比较。
         */
        System.out.println(s.equals(s1));
        
        /*
         * 语法:boolean equalsIgnoreCase(String anotherString)
         * 说明:将此 String 与另一个 String 比较,不考虑大小写。
         */
        System.out.println(s.equalsIgnoreCase(s1));
        
        /*
         * 语法:byte[] getBytes() / getBytes(String charsetName)
         * 说明:使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 / 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
         * 参数:charsetName -- 支持的字符集名称。
         * 返回值:返回 byte 数组。
         */
        byte[] bArry = null;
        try {
            bArry = s.getBytes("UTF-8");
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        for (int i = 0; i < bArry.length; i++) {
            System.out.println(bArry[i]);
        }
        
        /*
         * 语法:void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
         * 说明:将字符从此字符串复制到目标字符数组。
         * 参数:srcBegin -- 字符串中要复制的第一个字符的索引。 srcEnd -- 字符串中要复制的最后一个字符之后的索引。 dst -- 目标数组。 dstBegin -- 目标数组中的起始偏移量。
         * 返回值:没有返回值,但会抛出 IndexOutOfBoundsException 异常。
         */
        try {
            char[] cArray1 = new char[10];
            s.getChars(2, 6, cArray1, 0);
            System.out.println(cArray1);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        /*
         * 语法:int hashCode()
         * 说明:返回此字符串的哈希码。使用 int 算法,这里 s[i] 是字符串的第 i 个字符,n 是字符串的长度,^ 表示求幂。空字符串的哈希值为 0。
         */
        System.out.println(s.hashCode());
        
        /*
         * 语法:int indexOf(int ch) / int indexOf(int ch, int fromIndex) / int indexOf(String str) / int indexOf(String str, int fromIndex)
         * 用法:返回指定字符在此字符串中第一次出现处的索引。如果此字符串中没有这样的字符,则返回 -1。 /
         *         返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 / 
         *         返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 / 
         *         返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
         */
        System.out.println(s.indexOf("." , 3));
        
        /*
         * 语法:    String intern()
         * 用法:返回字符串对象的规范化表示形式。它遵循以下规则:对于任意两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。
         * 返回值:一个字符串,内容与此字符串相同,但一定取自具有唯一字符串的池。
         */
        System.out.println(s.intern());
        System.out.println(s.intern() == s1);
        System.out.println(s.intern() == s3);
        
        /*
         * 语法:int lastIndexOf(int ch) / int lastIndexOf(int ch, int fromIndex) / int lastIndexOf(String str) / int lastIndexOf(String str, int fromIndex)
         * 用法:返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 / 
         *         返返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 / 
         *         返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 / 
         *         返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
         */
        System.out.println(s.lastIndexOf("."));
        
        /*
         * 语法:    int length()
         * 用法:返回此字符串的长度。
         */
        System.out.println(s1.length());
        
        /*
         * 语法:boolean matches(String regex)
         * 用法:告知此字符串是否匹配给定的正则表达式。
         * 参数:regex -- 匹配字符串的正则表达式。
         */
        System.out.println(s2.matches("(.*)runoob(.*)"));
        
        /*
         * 语法:boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) / 
         *         boolean regionMatches(int toffset, String other, int ooffset, int len)
         * 用法:测试两个字符串区域是否相等。
         * 参数:ignoreCase -- 如果为 true,则比较字符时忽略大小写。 / 
         *         toffset -- 此字符串中子区域的起始偏移量。 / 
         *         other -- 字符串参数。 / 
         *         ooffset -- 字符串参数中子区域的起始偏移量。 / 
         *         len -- 要比较的字符数。
         * 返回值:如果字符串的指定子区域匹配字符串参数的指定子区域,则返回 true;否则返回 false。是否完全匹配或考虑大小写取决于 ignoreCase 参数。
         */
        System.out.println(s1.regionMatches(true, 0, s2, 0, 5));
        
        /*
         * 语法:String replace(char oldChar, char newChar)
         * 说明:返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
         * 参数:oldChar -- 原字符。 / newChar -- 新字符。
         */
        System.out.println(s1.replace("w", "x"));
        
        /*
         * 语法:String replaceAll(String regex, String replacement)
         * 用法:使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
         * 参数:regex -- 匹配此字符串的正则表达式。 / newChar -- 用来替换每个匹配项的字符串。
         * 返回值:成功则返回替换的字符串,失败则返回原始字符串。
         */
        System.out.println(s1.replaceAll("(.*)baidu(.*)", "runoob" ));
        System.out.println(s1.replaceAll("(.*)taobao(.*)", "runoob" ));
        
        /*
         * 语法:String replaceFirst(String regex, String replacement)
         * 说明:使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
         * 参数:regex -- 匹配此字符串的正则表达式。 / replacement -- 用来替换第一个匹配项的字符串。
         * 返回值:成功则返回替换的字符串,失败则返回原始字符串。
         */
        System.out.println(s1.replaceFirst("(.*)baidu(.*)", "google" ));
        
        /*
         * 语法:String[] split(String regex) / String[] split(String regex, int limit)
         * 说明:根据给定正则表达式的匹配拆分此字符串。
         * 注意: . 、 | 和 * 等转义字符,必须得加 \\。多个分隔符,可以用 | 作为连字符。
         * 参数:regex -- 正则表达式分隔符。 / limit -- 分割的份数。
         */
        String[] splitArray = s1.split("\\.");
        for (int i = 0; i < splitArray.length; i++) {
            System.out.println(splitArray[i]);
        }
        String[] splitArray1 = s1.split("\\." , 2);
        for (int i = 0; i < splitArray1.length; i++) {
            System.out.println(splitArray[i]);
        }
        String[] splitArray2 = s1.split("b|c");
        for (int i = 0; i < splitArray2.length; i++) {
            System.out.println(splitArray2[i]);
        }
        
        /*
         * 语法:boolean startsWith(String prefix) / boolean startsWith(String prefix, int toffset)
         * 说明:测试此字符串是否以指定的前缀开始。
         * 参数:prefix -- 前缀。 / toffset -- 字符串中开始查找的位置。
         */
        System.out.println(s1.startsWith("www"));
        System.out.println(s1.startsWith("."));
        System.out.println(s1.startsWith("." , 3));
        
        /*
         * 语法:CharSequence subSequence(int beginIndex, int endIndex)
         * 说明:返回一个新的字符序列,它是此序列的一个子序列。
         */
        System.out.println(s.subSequence(1, 4));
        
        /*
         * 语法:String substring(int beginIndex) / String substring(int beginIndex, int endIndex)
         * 说明:返回一个新的字符串,它是此字符串的一个子字符串。
         */
        System.out.println(s.substring(2));
        
        /*
         * 语法:char[] toCharArray()
         * 说明:将此字符串转换为一个新的字符数组。
         */
        System.out.println(s.toCharArray());
        
        /*
         * 语法:String toLowerCase() / String toLowerCase(Locale locale)
         * 说明:使用默认语言环境的规则将此 String 中的所有字符都转换为小写。/
         *         使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。
         */
        System.out.println(s.toLowerCase());
        
        /*
         * 语法:String toString()
         * 说明:返回此对象本身(它已经是一个字符串!)。
         */
        System.out.println(s.toString());
        
        /*
         * 语法:String toUpperCase() / String toUpperCase(Locale locale)
         * 说明:使用默认语言环境的规则将此 String 中的所有字符都转换为大写。 / 
         *         使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。
         */
        System.out.println(s.toUpperCase());
        
        /*
         * 语法:String trim()
         * 用法:返回字符串的副本,忽略前导空白和尾部空白。
         */
        System.out.println(s.trim());
        
        /*
         * valueOf(boolean b): 返回 boolean 参数的字符串表示形式。
         * valueOf(char c): 返回 char 参数的字符串表示形式。
         * valueOf(char[] data): 返回 char 数组参数的字符串表示形式。
         * valueOf(char[] data, int offset, int count): 返回 char 数组参数的特定子数组的字符串表示形式。
         * valueOf(double d): 返回 double 参数的字符串表示形式。
         * valueOf(float f): 返回 float 参数的字符串表示形式。
         * valueOf(int i): 返回 int 参数的字符串表示形式。
         * valueOf(long l): 返回 long 参数的字符串表示形式。
         * valueOf(Object obj): 返回 Object 参数的字符串表示形式。
         */
        System.out.println(String.valueOf(s));
    }
}
posted @ 2019-07-22 14:05  Java-Legend  阅读(385)  评论(0编辑  收藏  举报