未分类

如果String的值为null,在调用方法时则会报错。在线查阅String类-JDK-1.6版本0x01获取字符串的长度length()返回值:int代码:Strings1="淤青的博客";System.out.print(s1.length());执行结果:5length和length()的区别:length是数组中的一个属性,用来获取该数组有多少个元素。而length()是String类的一个方法。用来获取该字符串的长度。0x02返回该索引的内容charAt(intindex)返回值:charindex:索引,0开始,length-1结束。代码:Strings1="淤青的博客";charc1=s1.charAt(0);System.out.println(c1);System.out.println(s1.charAt(s1.length()-1));/*注意:这里使用的是length(),这是一个方法,而不是length属性。*/执行结果:淤客0x03返回该索引的Unicode码codePointAt(intindex)返回值:intindex:索引,返回该索引的Unicode码。代码:Strings1="淤青的博客";inti=s1.codePointAt(0);//将淤转换成Unicode码。System.out.println(i);//结果是28132charc=(char)i;//验证一下28132在Unicode位置中是不是淤System.out.println(c);//结果是淤执行结果:28132淤0x04返回该索引前一个的Unicode码codePointBefore(intindex)返回值:intindex:索引codePointBefore和codePointAt大同小异,只是该方法返回的是该索引的前一位。也就是返回的是index-1,最小范围是1。代码:Strings1="淤青的博客";inti=s1.codePointBefore(1);//返回淤的Unicode码System.out.println(i);charc=(char)i;System.out.println(c);执行结果:28132淤0x05两个字符串取Unicode码的差compareTo(StringanotherString)返回值:intanotherString:需要比较的字符串首先了解:"A"的Unicode码为:65"a"的UNicode码为:97"B"的Unicode码为:66"b"的Unicode码为:98如果大小写转相减或相加32就可以。该方法的功能:用调用者字符串的Unicode值来比较参数字符串的Unicode值,如果调用者字符串的Unicode值位置在前,则会返回一个小于0的数,比如:A(65)和a(97)比较,就会返回-32。而两个字符串的Unicode值相等时,则会返回0。如果调用者比参数大,则会返回一个大于0的数。比如:a(97)和B(66)比较,则会返回正的31。代码:Strings1="a";inti=s1.compareTo("B");System.out.println(i);执行结果:310x06字符串末尾拼接concat(Stringstr)返回值:Stringstr:需要添加在原字符串末尾的字符串该方法和用”+”字符串拼接差不多,用”+”可以将字符串和任何数据类型连接在一起。而用concat方法的话,参数只可以是String类型,如果参数长度为0,则返回原字符串。代码:Strings1="淤青";Strings2=s1.concat("的博客");System.out.println(s2);Strings3=s1.concat("");System.out.println(s3);//打印的是:淤青,证明了不会在原字符串修改,而是拷贝一份。执行结果过:淤青的博客淤青0x07判断字符串是否存在指定内容contains(CharSequences)返回值:booleans:存在的值,如果字符串包括该内容则返回true,不包括返回false。代码:Strings1="淤青的博客";booleanb1=s1.contains("淤青");System.out.println(b1);booleanb2=s1.contains("123");System.out.println(b2);执行结果:truefalse0x08String与StringBuilder进行内容比较contentEquals(CharSequencecs):返回值:booleancs:StringBuilder内容equals()和contentEquals()的区别:equals:该方法只允许比较String内容,如果String和StringBuilder的内容一致,用equals比较的话会返回false。contentEquals:使用该方法即可用String和StringBuilder正确比较。代码:Strings1="淤青的博客";StringBuildersb1=newStringBuilder("淤青的博客");booleanb1=s1.equals(sb1);booleanb2=s1.contentEquals(sb1);执行结果:falsetrue0x09将char数组以字符串形式返回1.copyValueOf(char[]data)返回值:Stringdate:需要以字符串显示的char型数组。该方法为静态方法。代码:char[]c={'淤','青','的','博','客'};Strings1=String.copyValueOf(c);System.out.println(s1);执行结果:淤青的博客2.copyValueOf(char[]data,intoffset,intcount)返回值:Stringdate:需要以字符串显示的char型数组offset:开始截取的索引count:截取数组的长度该方法为静态方法代码:char[]c={'淤','青','的','博','客'};Strings1=String.copyValueOf(c,0,4);//也就是从第一个开始,截取4个System.out.println(s1);执行结果:淤青的博0x10判断字符串是否以指定内容结尾endswith(Stringsuffix)返回值:booleansuffix:判断结尾是否该字符串代码:Strings1="淤青的博客";booleanb1=s1.endsWith("");booleanb2=s1.endsWith("淤");booleanb3=s1.endsWith("博客");booleanb4=s1.endsWith("客");System.out.println(b1+"\n"+b2+"\n"+b3+"\n"+b4);注意:如果endsWith方法的参数是空字符串或者等同于原字符串,那么结果会返回true。执行结果:truefalsetruetrue0x11比较字符串内容是否相等eauals(ObjectanObject)返回值:booleanabObject:比较内容的对象注意:该方法只适用于String与String之间比较,不适用于String与StringBuilder等比较,如有此需求请查看0x08。代码:Strings1="淤青的博客";booleanb1=s1.equals("淤青的博客");booleanb2=s1.equals("淤青");System.out.println(b1+"\n"+b2);执行结果:truefalse0x12忽略大小写判断字符串内容是否相等equalsIgnoreCase(StringanotherString)该方法和equals大同小异的是:该方法会和略大小写不同,Qing和qing用该方法比较,会返回true。0x13将字符串复制到char数组中getChars(intsrcBegin,intsrcEnd,char[]dst,intdstBegin)返回值:voidsrcBegin:从该字符串的第几个索引开始srcEnd:截取的长度。不是索引是长度dst:目标char型数组dstBegin:从该数组第几个索引粘贴注意:类似于该方法的还有getBytes方法,由于String方法太多,就不一一举例了,自行查阅JDK。char[]c=newchar[7];Strings="淤青的博客";s.getChars(1,s.length(),c,1);for(charx:c){System.out.print(c);}执行结果:(空格)青的博客(空格)(空格)0x14返回指定字符串第一次出现的索引indexOf(Stringstr)返回值:intstr:需要查找的字符串注意:如果没有找到该内容那么将返回-1Strings="淤青的博客";inti1=s.indexOf("青");inti2=s.indexOf("青的");inti3=s.indexOf("。");System.out.print(i1+"\n"+i2+"\n"+i3);执行结果:11-1//因为没有找到该字符串从指定的索引开始查找indexOf(Stringstr,intfromIndex)返回值:intstr:需要查找的字符串formIndex:从指定的索引开始搜索Strings="淤青的博客";inti1=s.indexOf("青",0);inti2=s.indexOf("青",1);System.out.print(i1+"\n"+i2);执行结果:1-10x15intern方法intern()返回值:String使用方法:使用字符串调用该方法的时候,会在字符串常量池中查找有没有同样内容的字符串,如果有则返回字符串常量池中的引用,如果没有,那么则在字符串常量池中新建一个,并返回字符串常量池中的引用。代码:Strings1="淤青的博客";Strings2=newString("淤青的博客");System.out.println(s1==s2);System.out.println(s1==s2.intern());//判断s2调用intern方法时,是否指向字符串常量池中执行结果:falsetrue0x16判断是否是空字符串isEmpty()返回值:boolean代码:Strings1="";Strings2="淤青的博客";System.out.println(s1.isEmpty());System.out.println(s2.isEmpty());执行结果:truefalse0x17将字符串指定格式输出join(CharSequencedelimiter,CharSequence…elements)注意:CharSequence…elements,这个…是可变长参数,也就是不确定到底要输入多少个元素,可以任意输入多少个。返回值:String该方法为静态方法delimiter:格式符号elements:字符串元素a-b-c-d-e-f该怎么这样有格式的输出?使用方法:在delimiter中输入一个字符串型的符号"-",然后在elements参数中传入多个字符串,然后把结果返回给一个新的String。注意:length()==1和length()-1时,也就是只有一个字符串内容和字符串结尾处,不会添加delimiter参数内容。代码:Strings1=String.join("-","淤","青","的","博","客");System.out.print(s1);执行结果:淤-青-的-博-客该方法还有针对集合进行操作的,具体查看JDK。0x18返回该字符串最后一次出现的索引lastIndexOf(Stringstr)返回值:intstr:需要查找的字符串如果找到了则返回索引,没找到返回-1Strings1="淤青的博客";inti=s1.lastIndexOf("客");System.out.print(i);执行结果:4从指定的的范围内查找lastIndexOf(Strintstr,intformIndex)formIndex:从该索引结束。如果在该索引的范围内没有查找到指定内容,则返回-1。代码:Strings1="淤青的博客";inti1=s1.lastIndexOf("淤",0);inti2=s1.lastIndexOf("青",0);//青的索引是1,而参数写的0,只可以查询带淤,所以返回-1System.out.println(i1+"\n"+i2);执行结果:0-10x19regionMatches方法regionMatches(booleanignoreCase,inttoffset,Stringother,intooffset,intlen)返回值:booleanignoreCase:控制是否开启忽略大小写,为true时忽略,false关闭。toffset:从该索引位置开始比较。other:需要比较的字符串。ooffset:从该索引开始比较。len:需要比较的长度。代码:Strings1="yuqing";Strings2="YUQING";booleanb1=s1.regionMatches(true,0,s2,0,3);booleanb2=s1.regionMatches(false,0,s2,0,3);System.out.println(b1+"\n"+b2);执行结果:true该方法还有一个重载方法,把ignoreCase参数去掉就是了。0x20输入新字符将指定旧内容替换replace(CharSequencetarget,CharSequencereplacement)返回值:Stringtarget:原字符串中需要被替换掉的内容replacement:新内容代码:Strings1="yuqing";Strings2=s1.repace("yu","qqq");System.out.println(s2);执行结果:qqqqing0x21将指定内容全部更换replaceAll(Stringregex,Stringreplacement)返回值:Stringregex:需要被更换的字符replacement:新内容代码:Strings1="112233";Strings2=s1.replaceAll("2","6");System.out.println(s2);执行结果:1166330x22将查询到的第一个字符更换replaceFirst(Stringregex,Stringreplacement)返回值:Stringregex:需要被更换的字符replacement:新内容注意:如果该字符串中查询到了多个regex参数内容,那么该方法不会全部更换,只会更换第一个位置的内容。代码:Strings1="112222";Strings2=s1.replaceFirst("2","6");System.out.println(s2);执行结果:1162220x23判断是否以指定字符开头startsWith(Stringprefix)返回值:booleanprefix:是否以该内容开头代码:Strings1="http://yq2048.cn";booleanb=s1.startsWith("http://");System.out.println(b);执行结果:true通过指定索引判断是否以指定内容开头startsWith(Stringprefix,inttoffset)返回值:booleanprefix:是否以该内容开头toffset:在该索引开始判断代码Strings1="http://yq2048.cn";booleanb=s1.startsWith(".cn",s1.length()-3);//验证后缀是否以.cn结尾System.out.println(b);执行结果:true0x24通过指定索引位置分割字符串substring(intbeginIndex)返回值:StringbeginIndex:返回该索后的内容代码:Strings1="淤青的博客";Strings2=s1.substring(1);System.out.print(s2);执行结果:青的博客返回开始索引和结束索引中的字符串substring(intbeginIndex,intendIndex)返回值:StringbeginIndex:开始的索引,包括该索引endIndex:结束索引(不包括该索引),也就是说该索引前一位才是最终点。代码:Strings1="淤青的博客-yq2048.cn";Strings2=s1.substring(1,12);System.out.println(s2);执行结果:青的博客-yq20480x25通过指定字符分割字符串split(Stringregex)返回值:String[]regex:指定字符串使用方法:在该字符串中,查找regex参数内容,找到后将该regex前的内容返回给第一个元素,如果后面还有regex内容,那么将第二个regex前的内容(到第一个regex内容后截止)赋值给第二个元素。代码:Strings1="小龙虾,啤酒,花生米,烤串,铁铁";String[]s2=s1.split(",");for(inti=0;i<s2.length;i++){System.out.println("第"+i+"个元素是:"+s2[i]);}执行结果:第0个元素是:小龙虾第1个元素是:啤酒第2个元素是:花生米第3个元素是:烤串第4个元素是:铁铁0x26将字符串转换成char型数组toCharArray()返回值:void代码:Strings1="淤青的博客";char[]c=s1.toCharArray();for(charx:c){System.out.print(x+"");}执行结果:淤青的博客0x27将字符串转换成小写toLowerCase()返回值:String代码:Strings1="AABBCC";Strings2=s1.toLowerCase();System.out.println(s2);执行结果:aabbcc0x28将字符串转换成大写toUpperCase()返回值:String代码:Strings1="aabbcc";Strings2=s1.toUpperCase();System.out.println(s2);执行结果:AABBCC0x29删除字符串前缀和后缀的空格trim()返回值:String注意:删除的是第一个字符前的内容,如果第一个字符后还有空格,则不会删除第一个字符后的空格。代码:Strings1="淤青的博客";Strings2="。淤青的博客。";Strings3=s1.trim();Strings4=s2.trim();System.out.println(s3+"\n"+s4);执行结果:淤青的博客。淤青的博客。妈的,终于弄完了~~hhh!!(^▽^)

2020-6-23 170 0
2020-5-24 174 0
2020-5-16 184 0
2020-5-16 198 0