Java字符串的创建及操作

xiaoxiao2021-03-01  28

一、创建字符串

         在Java语言中将字符串作为对象来管理,因此可以像创建其他类对象一样来创建字符串对象。创建对象要使用类的构造方法。String类的常用构造方法如下:

二、连接字符串

       见链接: java中连接字符串 - 博客

三、获取字符串的信息

       (包括长度、查找、获取索引位置的字符)

    注意:如果lastIndexOf()方法中的参数是空字符串“”(注意没有空格),则返回的结果与调用该字符串的length()方法的返回结果相同。

              如果indexOf()方法中参数是空字符串“”(注意没有空格),则返回的结果为0。

四、字符串操作

       (包括获取子字符串、去除空格、字符串替换、判断字符串的开始与结尾、判断字符串是否相等、按字典顺序比较两个字符串、字母大小写转换、字符串分割)

     1.获取子字符串

        通过String类的substring()方法可对字符串进行截取。其中substring()被两种不同的方法重载:

     (1)substring(int beginIndex)   该方法返回的是从指定的索引位置开始截取直到该字符串结尾的子串。

       注意:在字符串中空格占用一个索引位置。

     (2)substring(int beginIndex,int endIndex)   该方法返回的是从字符串某一索引位置开始截取至某一索引位置结束的子串。

      2.去除空格

          trim()方法返回字符串的副本,忽略前导空格和尾部空格。

          

      3.字符串替换

        replace()方法可实现将指定的字符或字符串替换成新的字符或字符串。

        replace(char oldChar,char newChar);

        replace()方法返回的结果是一个新的字符串。如果字符串oldChar没有出现在该对象表达式中的字符串序列中,则将原字符串返回。

       

           注意:如果要替换的字符oldChar在字符串中重复出现多次,replace()方法会将所有oldChar全部替换成newChar。

                       要替换的字符oldChar答大小写要与原字符串中字符的大小写保持一致,否则不能成功地替换。

      4.判断字符串的开始与结尾

           startsWith()方法与endsWith()方法分别用于判断字符串是否以指定的内容开始或结束。这两个方法的返回值都是boolean类型。

          (1)startsWith(String prefix)   该方法用于判断当前字符串对象的前缀是否为参数指定的字符串。

          (2)endsWith(String suffix)    该方法用于判断当前字符串是否为以给定的子字符串结束。

     5.判断字符串是否相等

          对字符串对象进行比较不能简单地使用比较运算符“==”,因为比较运算符比较的是两个字符串的地址是否相同(注意是字符串哦,其他数值还是可以比较的)。即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符仍然会返回false。

         (1)equals(String otherstr)方法   如果两个字符串具有相同的字符和长度,则使用equals()方法进行比较时,返回true。

        (2)equalsIgnoreCase(String otherstr)方法   使用equals()方法对字符串进行比较时是区分大小写的,而使用equalsIgnoreCase()方法是在忽略了大小写的情况下比较两个字符串是否相等 ,返回结果仍为boolean类型。

     6. 按字典顺序比较两个字符串

         compareTo()方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值,按字典顺序此String对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此String对象位于参数字符串之前,则比较结果为一个负整数;如果按字典顺序此String对象位于参数字符串之后,则比较结果为一个正整数;如果这两个字符串相等,则结果为0。

        compareTo(String otherstr)方法只有在equals(Object)方法返回true时才返回0。

   个人心得:我知道这个是按字典顺序来比较大小,可以具体怎么的我不懂。下面是我变成摸索出来的:

                       两个字符串比较从str1的第n位字符与str2的第n位字符比较,只要一遇到不同的就比较作为返回结果;

                       如果str1所有位都与str2的对应位相同,那么就把他们的字符串长度作为比较返回结果;

     7.字母大小写转换

         字符串的toLowerCase()方法可将字符串中的所有字符从大写字母改写为小写字母,而toUpperCase()方法可将字符串中的小写字母改写为大写字母。

(1)toLowerCase()    该方法将String转换为小写。如果字符串中没有应该被转换的字符,则将原字符串返回;否则将返回一个新的字符串,将原字符串中每个该进行小写转换的字符都转换成等价的小写字符。字符长度与原字符长度相同。

(2)toUpperCase()    该方法将String转换为大写。如果字符串中没有应该被转换的字符,则将原字符串返回;否则将返回一个新的字符串,将原字符串中每个该进行大写转换的字符都转换成等价的大写字符。字符长度与原字符长度相同。

    注意:使用toLowerCase()方法和toUpperCase()方法进行大小写转换时,数字或非字符不受影响。

     8.字符串分割

         使用split()方法可以使字符串按指定的分割字符或字符串对内容进行分割,并将分割后的结果存放在字符串数组中。

         (1)spilt(String sign) 该方法可根据给定的分割符对字符串进行拆分。

                     其中,sign为分割字符串的分割符,也可以使用正则表达式

              没有统一的对字符进行分割的符号。如果想定义多个分割符,可使用符号  “|” 。例如,   “,|=”   表示分割符分别为  “,”   和   “=” 。

         (2)split(String sign,int limit)

                    其中,sign:分割字符串的分隔符,也可以使用正则表达式。

                                limit:限制的分割次数。

 

 

转载请注明原文地址: https://www.6miu.com/read-3650194.html

最新回复(0)