欢迎来到天天文库
浏览记录
ID:30777541
大小:85.50 KB
页数:7页
时间:2019-01-03
《java提高篇之字符串-编程开发技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、java提高篇Z字符串-编程开发技术java提高篇之字符串丿京文出处:chenssy???可以证明,字符串操作是计算机程序设计中最常见的行为。、String首先我们要明确,String并不是基本数据类型,而是一个对彖,并口是不可变的对象。查看源码就会发现String类为final型的(当然也不可被继承),而且通过查看JDK文档会发现几乎每一个修改String对象的操作,实际上都是创建了一个全新的String对象。字符串为对象,那么在初始化Z前,它的值为null,到这里就冇必要捉下””、null、newString()三者的区别。null表示string还没有new
2、,也就是说对象的引用还没有创建,也没有分配内存空间给他,而”"、newString()则说明了已经new了,只不过内部为空,但是它创建了对象的引用,是需要分配内存空间的。打个比方:一个空玻璃杯,你不能说它里血什么都没有,因为里面有空气,当然也可以把它弄成真空,null与”“、newString()的区别就彖真空与空气一样。在字符串中存在一个非常特殊的地方,那就是字符串池。每当我们创建一个字符申对象时,首先就会检查字符串池中是否存在面值相等的字符串,如果有,则不再创建,直接放回字符串池屮对该对象的引用,若没有则创建然后放入到字符串池屮并且返回新建对象的引用。这个机制
3、是非常有用的,因为可以提高效率,减少了内存空间的占用。所以在使用字符串的过程中,推荐使用直接赋值(即Strings=waa?,),除非有必耍才会新建一个String对象(即Strings=newString(”aav))。对于字符吊的使用无非就是这几个方面:?????1、字符串比较equals()??判断内容是否相同。compareTo()判断字符串的大小关系。compareToTgnoreCase(Stringint)???在比较时忽略字母大小写。=——判断内容与地址是否相同。reagionMatchesO对字符串屮的部分内容是否相同进行比较(详情请参考API)
4、o?????2、字符串查找charAt(intindex)返回指定索引index位置上的字符,索引范围从0开始。indcxOf(Stringstr)从字符吊开始检索str,并返回第一次出现的位置,未岀现返回T。indexOf(Stringstr,intfromlndex);从字符串的第fromlndex个字符开始检索str。lastlndexOf(Stringstr)查找最后一次出现的位置。1astTndexOf(Stringstr,intfromTndex)从字符串的第fromlndex个字符杳找最后一次出现的位置。starWith(Stringprefix,i
5、nttoffset)测试此字符串从指定索引开始的子字符串是否以指定前缀开始。starWith(Stringprefix)测试此字符串是否以指定的前缀开始。endsWith(Stringsuffix)测试此字符串是否以指定的后缀结束。?????3、字符串截取??????????publicStringsubString(intbeginlndex)——返回一个新的字符串,它是此字符串的一个子字符串。publicStringsubString(intbeginIndex,intendindex)返冋的字符串是从beginlndex开始到endlndex-l的串。???
6、?4、字符串替换publicStringreplace(charoldChar,charnewChar)opublicStringreplace(CharSequencetarget,CharSequencereplacement)把原来的etarget子序列替换为replacement序列,返冋新串。publicStringreplaceAll(Stringregex,Stringreplacement)用正则表达式实现对字符串的匹配。注意replaceAll第一个参数为正则表达式,鄙人曾经深受其害。????5、更多方法请参考API二、StringBufferS
7、tringBuffer和String一样都是用來存储字符串的,只不过由于他们内部的实现方式不同,导致他们所使用的范围不同,对TStringBuffer而言,他在处理字符申时,若是对其进行修改操作,它并不会产生一个新的字符串对象,所以说在内存使用方面它是优于String的。其实在使用方法,StringBuffer的许多方法和String类都差不多,所表示的功能儿乎一模一样,只不过在修改时StringBuffer都是修改自身,而String类则是产生一个新的对象,这是他们之间最大的区别。同时StringBuffer是不能使用二进行初始化的,它必须要产生StringBu
8、ffer实
此文档下载收益归作者所有