第5章 Java常用类和接口

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章Java常用类和接口5.1字符串处理类在Java中,字符串是作为内置对象进行处理的,在java.lang包中,有两个专门的类用来处理字符串,分别是String和StringBuffer,本节重点介绍这两个类的用法。5.1.1String类String类表示了定长、不可变的字符序列,Java程序中所有的字符串常量(如“abc”)都作为此类的实例来实现。它的特点是一旦赋值,便不能改变其指向的字符串对象,如果更改,则会指向一个新的字符串对象。下面介绍String中常用的一些方法。5.1.1String类1、构造方法String()String(byte[]bytes)String(byte[]ascii,inthibyte)String(byte[]bytes,intoffset,intlength)String(byte[]ascii,inthibyte,intoffset,intcount)String(byte[]bytes,intoffset,intlength,StringcharsetName)String(byte[]bytes,StringcharsetName)String(char[]value)String(char[]value,intoffset,intcount)String(int[]codePoints,intoffset,intcount)String(Stringoriginal)String(StringBufferbuffer)String(StringBuilderbuilder)5.1.1String类2、length()方法字符串的长度是指其所包含的字符的个数,调用String的length()方法可以得到这个值。5.1.1String类3、字符串连接“+”运算符可以连接两个字符串,产生一个String对象。也允许使用一连串的“+”运算符,把多个字符串对象连接成一个字符串对象。5.1.1String类4、charAt()方法此方法的形式:charcharAt(intwhere)其中,where是想要得到的字符的下标,并且其值必须为非负的,它指定了在字符串中的位置。5.1.1String类5、getChars()方法此方法的形式:VoidgetChars(intsourceStart,intsourceEnd,chartargte[],inttargetStart)其中,sourceStart表示子字符串的开始位置,sourceEnd是子字符串结束的下一个字符的位置,因此截取的子字符串包含了从sourceStart到sourceEnd-1的字符,字符串存放在字符数组target中从targetStart开始的位置,在此必须确保target应该足够大能容纳所截取的子串。5.1.1String类6、getBytes()方法此方法使用平台的默认字符集将此字符串编码为byte序列,并将结果存储到一个新的byte数组中。也可以使用指定的字符集对字符串进行编码,把结果存到字节数组中,String类中提供了getBytes()的多个重载方法。5.1.1String类7、字符串的比较(1)equals()和equalsIgnoreCase()方法前者比较两个字符串的时候对字母大小写是敏感的,而后者不区分字母大小写。(2)startsWith()和endsWith()方法startsWith()方法判断一个给定的字符串是否从一个指定的字符串开始,而endsWith()方法判断字符串是否以一个指定的字符串结尾。(3)equals()与==的区别equals()方法比较字符串对象中的字符是否相等,而==运算符则比较两个对象引用是否指向同一个对象(4)compareTo()方法比较两个字符串的大小关系(按字母在字典中出现的先后顺序)。5.1.1String类8、字符串的搜索(1)indexOf()方法indexOf方法有4种形式,分别如下:intindexOf(intch)intindexOf(intch,intfromIndex)intindexOf(Stringstr)intindexOf(Stringstr,intfromlndex)(2lastlndexOf()方法lastlndexOf方法也有4种形式,分别如下。intlastIndexOf(intch)intlastIndexOf(intch,intfromIndex)intlastIndexOf(Stringstr)intlastlndexOf(Stringstr,intfromlndex)5.1.1String类9、字符串修改字符串的修改包括取字符串中的子串、字符串之间的连接、替换字符串中的某字符、消除字符串的空格等功能。在String类中有相应的方法来提供这些功能:Stringsubstring(intstartIndex)Stringsubstring(intstartIndex,intendlndex)Stringconcat(Stringstr)Stringreplace(charoriginal,charreplacement)Stringreplace(CharSequencetarget,CharSequencereDlacenStringtrim()5.1.1String类10、ValueOf()方法valueOf()方法是定义在String类内部的静态方法,利用这个方法,可以将几乎所有的Java简单数据类型转换为String类型。这个方法是String类型和其他Java简单类型之间的一座转换桥梁。除了把Java中的简单类型转换为字符串之外,valueOf方法还可以把Object类和字符数组转换为字符串。valueOf()的通用形式如下,总共有9种形式。staticStringvalueOf(booleanb)staticStringvalueOf(charc)staticStringvalueOf(char[]data)staticStringvalueOf(char[]data,intoffset,intcount)staticStringvalueOf(doubled)staticStringvalueOf(floatf)staticStringvalueOf(inti)staticStringvalueOf(1ong1)staticStringvalueOf(Objectobj)5.1.1String类11、toString()方法toString()方法是在Object中定义,所以任何类都具有这个方法。然而toString()方法的默认实现是不够的,对于用户所创建的大多数类,通常都希望用自己提供的字符串表达式重载toString()方法。toString()方法的一般形式:StringtoString()。实现toString()方法,仅仅返回一个String对象,该对象包含描述类中对象的可读的字符串。通过对所创建类的toString()方法的覆盖,允许得到的字符串完全继承到Java的程序设计环境中。例如它们可以被用于print()和println()语句以及连接表达式中。5.1.2StringBuffer类在实际应用中,经常会遇到对字符串进行动态修改,这时String类的功能就受到了限制,而StringBuffer类可以完成字符串的动态添加、插入和替换等操作。StringBuffer表示变长的和可写的字符序列。StringBuffer类可有插入其中或追加其后的字符或子字符串,还可以针对这些添加自动地增加空间,同时它通常还有比实际需要更多的预留字符,从而允许增加空间。5.1.2StringBuffer类1.StringBuffer的构造方法StringBuffer定义了四个构造方法:StringBuffer()StringBuffer(intcapacity)StringBuffer(Stringstr)StringBuffer(CharSequenceseq)5.1.2StringBuffer类2.append()方法可以向已经存在的StringBuffer对象追加任何类型的数据,StringBuffer类提供了相应append()方法,如下所示:StringBufferappend(booleanb)StringBufferappend(charc)StringBufferappend(char[]str)StringBufferappend(char[]str,intoffset,intfen)StringBufferappend(CharSequences)StringBufferappend(CharSequences,intstart,intend)StringBufferappend(doubled)StringBufferappend(floatf)StringBufferappend(inti)StringBufferappend(10nglng)StringBufferappend(Objectobj)StringBufferappend(Stringstr)StringBufferappend(StringBuffersb)5.1.2StringBuffer类3.length()和capacity()方法对于每一个StringBuffer对象来说,有两个很重要的属性,分别是长度和容量。通过调用length()方法可以得到当前StringBuffer的长度,而通过调用capacity()方法可以得到总的分配容量。它们的一般形式如下:intlength()intcapacity()5.1.2StringBuffer类4.ensureCapacity()和setLength()方法如果想在构造StringBuffer之后为某些字符预分配空间,可以使用ensureCapacity方法设置追加缓冲区的大小,即在默认16个字符缓冲区大小的基础上,再追加若干个字符的缓冲区。这个方法是在事先已知要在StringBuffer上追加大量字符串的情况下是使用的。ensureCapacity方法的一般形式如下:voidensureCapacity(intminimumCapacity)参数minimumCapacity就是要在原来缓冲区的基础上追加的缓冲区大小。使用setLength方法可以设置字符序列的长度。其一般形式如下:voidsetLength(intlen)这里len指定了新字符序列的长度,这个值必须是非负的。当增加缓冲区的大小时.空字符将被加在现存缓冲区的后面。如果用小于length方法返回的当前值的值调用setLength方法,那么在新长度之后存储的字符将被丢失。5.1.2StringBuffer类5.insert()方法它是先调用String类的valueOf方法得到相应的字符串表达式。随后这个字符串被插入所调用的StringBuffer对象中。insert方法有如下几种形式:StringBufferinsert(intoffset,boo1eanb)StringBufferinsert(intoffset,cbarc)StringBufferinsert(intoffset,char[]str)StringBufferinsert(intindex,char[]str,intoffset,intlen)StringBufferinsert(intdstOffset,CharSequences)StringBufferinsert(intdstOffset,CharSequences,intstart,intend)StringBufferinsert(intoffset,doubled)StringBufferinsert(intoffset,floatf)StringBufferinsert(intoffset,inti)StringBufferinsert(intoffset,l

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功