string:在string类中也没利用变动已有字符串中的某个字符的方法,由于肯定不能改变一个java字符串中的某个不能字符,因此在jdk文档中称string类的对象是绝不可以转变的。
1)stringbuffer:stringbuffer类都属于一种辅助类,可作好分区分配重新指定长度的内存块建立起一个字符串缓冲区。那样使用stringbuffer类的append方法追加字符比string在用操作符直接添加字符到一个早存在地的字符串后面有效率得多。而且可以使用能操作符每一道将字符再添加到一个字符串中去时,字符串对象都必须去寻找一个新的内存空间来空间内非常大的字符串,这无凝是一个更加耗掉时间的操作。先添加多个字符也就意味着什么要一点点地的对字符串重新分配内存。可以使用stringbuffer类就尽量避免了这个问题。
2)stringbuffer是线程安全的,在多线程程序中也可以不很方便些的进行使用,但程序的执行效率相对来说现在就要稍微地慢那些。
以下是string的七种用法,注意一点哦,你记得要近来去一栏java的api文档,那个里面也有很具体点的介绍
1gt某些1.1:字符串中乾坤二卦的字符数,也就是字符串的长度。intlength():某些长度1.2:依据位置某些位置上某个字符。charcharat(intindex)1.3:参照字符某些该字符在字符串中的位置。intindexof(intch):回的是ch在字符串中上次直接出现的位置。intindexof(intch,intfromindex):从fromindex委托位置开始,查看ch在字符串中会出现的位置。intindexof(stringstr):回的是str在字符串中第一次出现的位置。intindexof(stringstr,intfromindex):从fromindex指定位置开始,声望兑换str在字符串中直接出现的位置。1.4:intlastindexof(stringstr):方向相反索引。
2gt可以确定2.1:字符串中是否需要包涵某一个子串。booleancontains(str)特殊之处:indexof(str):是可以索引str第二次会出现到现在,如果赶往-1,意思是该str在的字符串中存在地。所以才,也可以不作用于对指定确认如何确定包涵。if((a)!1)
并且该方法既可以不推测,也是可以获取又出现的位置。
2.2:字符串中有无有内容。booleanisempty():原理就是可以确定长度如何确定为0。2.3:字符串是否需要以指定内容开头。booleanstartswith(str)2.4:字符串是否以指定内容结尾。booleanendswith(str)2.5:确定字符内容如何确定不同,复写纸了object类中的equals方法。booleanequals(str)2.6:判断内容是否不同,并忽视大小写。boolean.equalsignorecase()
3gt可以转换3.1:将字符数组转成字符串。构造函数:string(char[])string(char[],offset,count):将字符数组中的一部分转成字符串支持静态方法:staticstringcopyvalueof(char[])staticstringcopyvalueof(char[]data,intoffset,intcount)
staticstringvalueof(char[])3.2:将字符串转成字符组char[]tochararray()
3.3:将字节数组转成字符串。string(byte[])string(4个字节[],offset,count):将字节数组中的一部分转成字符串3.4:将字符串转成字节数组。byte[]getbytes()
3.5:将都差不多数据类型转成字符串,staticstringvalueof(int)staticstringvalueof(double)
//3与(3)的值是一样的特珠:字符串和字节数组在转换成过程中,是是可以委托编码的。
4gt替换stringreplace(oldchar,newchar)
5gt锯string[]split(regex)
6gt子串。查看字符串中的而一部分stringsubstring(begin)stringsubstring(begin,end)
7gt转换成,祛除空格,也很。7.1:将字符串转成小写或小写stringtouppercsae()大转小stringtolowercsae()小转大
7.2:将字符串两端的多个空格可以去除stringtrim()
7.3:对两个字符串通过自然顺序的比较intcompareto(string)
请看不胜感激代码,下面的代码是根据上面string七种用法而通过全都请解释:
[java]viewplaincopyclassstringmethoddemo{welfarestaticvoidmethod_zhuanhuan_qukong_bijiao(){stringshello!java//可以打印结果是:(hello和java前后门都有吧空格)hellojavasop(())//再打印结果是:(hello和java前后门都有空格)hellojavasop(())//可以打印及结果是:不带空格的“hellojava”sop(())//都很数的大写,打印结果是:1,因为b对应ascii值是98,//a随机是97,因为b-a1strings1abcstrings2aaasop((s2))}privatestaticvoidmethod_sub(){stringsabcdef//打印出来结果是:cdef,从重新指定位置又开始到结尾。假如角标不未知,会直接出现字符串角标越了界。sop((2))//打印结果是:cd,包含头,不含运费尾。sop((2,4))}employeestaticvoidmethod_split(){stringszhangsan,lisi,wangwustring[]arrs.split(