6.2 String类和StringBuffer类

来源:互联网 发布:网络社区网站有哪些 编辑:程序博客网 时间:2024/05/17 04:28
 String 类方法。
创建String 类对象的构造方法:
----String str = new String ()  :生成一个空串(这是一个午参数的构造方法)。
----String (String value) :用已知串 value 创建一个字符串对象。
----String (char chars[ ] )  :用字符数组 chars 创建一个字符串对象。
----String ( char chars [ ], int startsIndex , int numchars ) :从字符数组 chars 中的位置 startsIndex 起,numchars 个字符组成的字符串对象。
----String (byte ascii[ ] , int hiByte) :用字符数组 ascii 创建一个字符串对象,hiByte 为 Unicode 字符的高位字节。对于ASCII 码来说为 0 ,其他非拉丁字符集为非 0 。
----String ( byte ascii[ ] , int hiByte , int startsIndex , int numchuars) :其作用和意义同上。
String 类字符串的基本操作。
1.    String 类字符串的长度
Public int length( ) 可返回 String 类字符串对象的长度。
2.    String 类字符串的比较
(1)    boolean equals(Object obj) 和 equalsIgnoreCase(String str)
这两个方法都用来比较两个字符串的值是否相等,不同之处在于后者是忽略大小写的。
(2)    int compareTo (String str)
比较两个字符串的大小,如调用方法的串比参数串大,则返回正整数;反之则返回负整数;如两串相等则返回 0 。
(3)    boolean startsWith(String prefix) 和 boolen endsWith(String suffix)
判断当前字符串是否以某些前缀开头或者以某些后缀结尾。
这两个方法均有重载:
     -----  boolean startsWith(String prefis , int offset)
     -----  boo;ean endsWith(String prefis , int offset)
          在重载的方法中可以指定比较的开始位置 offset 。
     (4)boolean regionMatches(int toffset , String otjer , int ooffset , int len ) 和 Boolean regionMatches(Boolean ignoreCase , int toffset , String other , into offset , int len)
这两个方法都是用来比较两个字符串中指定区域的字串是否相同。不同之处在于后者是不区分大小写的,而前者则不然。
toffset 和 ooffset 指当前调用串与参数串要比较的字串的起始位置; len 指明要比较的长度。
3.    String 类字符串的检索和字串
(1)  char charAt(int index)
改方法的功能是返回给定位置的字符。index  的取值范围从 0 到串长度减 1 。
(2)int indexOf(int ch) 和  lastIndexOf(int ch)
方法 indexOf 有重载,如下:
---- int indexOf(int ch , int fromIndex)  
---- int indexOf(String str)
---- int indexOf(String str , int fromIndex)
  该方法的功能是返回字符串对象中指定位置的字符或字串首次出现的位置,从串对象开始处或从 fromIndex 处开始查找,若未找到,则返回 -1 。
方法lastIndexOf(int ch) 有重载,如下:
---- int lasIndexOf(int ch , int fromIndex)
---- int lasIndexOf(String str)
---- int lasIndexOf(String str , int fromIndex)
该方法的功能是返回字符串对象中指定位置的字符或字串最后一次出现的位置,也可以说是从右端开始查找的首次出现的位置。
(3)String substring (int beginIndex) 和 substring(int beginIndex , int endIndex)
     该方法的功能是返回子字符串。前者是从 benginIndex 处开始到串尾;后者是从 beginIndex 处开始到 endIndex-1 处为止的子字符串,子串长度为 endIndex – beginIndex 。
4.    String 类字符串的修改
(1)    String toLowerCase( ) 和 String toUpperCase( )
该方法的功能是将当前字符串的所有字符转换小写或大写。例如:
System.out.println(“java”.toUpperCase( ));   // 输出为JAVA
System.out.println(“JAVA”.toLowerCase( ));   // 输出为java
(2)    seplace(Char oldChar , char newChar)
该方法的功能是用字符newChar 替换当前字符串所有的字符 oldChar ,并返回一个新的字符串。
---- replaceFirst(String regex , String replacement)
该方法用字符串 replacement 的内容替换当前字符串中遇到的第一个和字符串 regex 相一致的子串,并将产生的新字符串返回。
---- replaceAll(String regex , String replacement)
该方法用字符串 replacement 的内容替换当前字符串中遇到的所有和字符串 regex 相一致的子串,并将产生的新字符串返回。
(2)    String trim( )
该方法的功能是去掉当前字符串首尾的空串(即空白字符)。
(3)    String concat(String str)
       用来将当前调用该方法的字符串对象与给定的参数字符串str 连接起来,当前字符串在前,参数字符串 str 在后。
5.    String 类与其他类的转换
(1)    static String valueOf(Object obj)
---- static String valueOf(char datd[ ])
---- static String valueOf(char datd[ ] , int offset , int count)
---- static String valueOf(boolean  b)
---- static String valueOf(char c)
---- static String valueOf(int i)
---- static String valueOf(long l)
---- static String valueOf(float f)
---- static String valueOf(double d)
(2) toString ( )
有些方法只接收 String 类型的参数,这就需要把一个对象转化成为 String 类型。

StringBuffer 类字符串方法。
为了对一个可变字符串对象进行初始化,StringBuffer 类提供了如下几种构造方法:
---- StringBuffer ( ) :建立一个空的字符串对象。
---- StringBuffer (int len ) :建立长度为len 的字符串对象。
---- StringBuffer ( String str) :根据一个已经存在的紫钗恨常量 str 来创建一个新的StringBuffer 对象,改 StringBuffer 对象的内容和已经存在的字符串常量str 相一致。

StringBuffer类字符串的基本操作
1. 分配 / 获取StringBuffer类字符串的长度。
   (1)void setLength(int newLength)
        该方法的功能是指明字符串的长度,这时字符串缓冲区中指定长度以后的字符值均为零。
   (2)int length( )
        该方法是获取字符串的长度,与String 类中的相同。
2. 分配 / 获取StringBuffer 类字符串的容量。
   (1)void ensureCapacity(int minCapacity)
该方法是分配字符串缓冲区的大小,需要注意的是分配的缓冲区容量至少为指定的值minCapacity 。若当前缓冲区容量小于参数值,则分配新的较大的缓冲区。新的容量取下列两种情况中较大的值:
a . 参数minCapacity 的值
b.  原有缓冲区大小的两倍加2
(2)int capacity( )
    该方法是获取缓冲区的大小。
3. StringBuffer类字符串的检索和子串
   (1)void getChars(int srcBegin , int srcEnd , char[ ] , int  dstBegin)
      该方法是将StringBuffer 对象字符串中的字符复制到目标字符数组中去。复制的字符从srcBegin开始,到srcEnd结束。字符被复制到目标数组的dstBegin至dstBegin+(srcEnd - srcBegin)- 1处。复制的字符数目为srcEnd – srcBegin 。
   (2)String substring(int beginindex) 和 substring(int beginindex , int endindex)
      该方法是返回子字符串。前者是从beginindex处开始到串尾;后者是从beginindex 处开始到 endindex – 1 处为止的子字符串,子串长度为endindex – beginindex 。
4. StringBuffer类字符串的修改
   (1)StringBuffer append( )
---- StringBuffer append(boolean b )
---- StringBuffer append(int i )
---- StringBuffer append(long l )
---- StringBuffer append(float f )
---- StringBuffer append(double d )
(2)StringBuffer insert( )
该方法与 append( )方法在使用上非常的相似,唯一的不同是多了一个位置参数index,该参数必须大于等于 0.
----StringBuffer insert(int index , int i)
----StringBuffer insert(int index , long l)
----StringBuffer insert(int index , float f)
----StringBuffer insert(int index , double d)
(3)StringBuffer delete(int starts , int end) 和 StringBuffer deleteCharAt(int index)
方法delete ( ) 用来将StringBuffer 类字符串对象从 starts 开始到end – 1 处结束的子字符串(长度为end - starts)删去。
而方法deleteCharAt()用来删除指定位置index 处的字符。
(4)StringBuffer reverse( )
  该方法是将StringBuffer 类字符串对象进行翻转,并将翻转后的值存储在原字符串对象中。
(5)下面几个方法也经常用到。
----StringBuffer replace(int starts , int end , String str) :进行子字符串的替换。
----void setCharAt(int index , char ch) :设置指定位置index 处的字符值ch 。
6.    StringBuffer 类的类型转换
与Character , Intenger , Boolean 等类一样,StringBuffer 类也重写了方法 toString( ),可以将 StringBuffer 类的对象转换为 String 类的对象。
原创粉丝点击