String的总结和应用

来源:互联网 发布:java switch 数据类型 编辑:程序博客网 时间:2024/05/21 14:41

<span style="font-family: 'Hiragino Sans GB', 'Microsoft Yahei', SimSun, Helvetica, Arial, sans-serif; text-indent: 2em; background-color: rgb(255, 255, 255);">最近想记录下自己的学习历程,顺便来补充下基础,就从javase部分开始吧,下面来介绍一下String类的常用api:</span>
首先String不是基本数据类型(基本数据类型:第一类:整型 byte short int long,第二类:浮点型 float double,第三类:逻辑型 boolean(它只有两个值可取true false) 第四类:字符型 char),而是一个类,一个被final修饰的类(所以该类不可被继承,不可被修改)这里将引出一个问题:究竟创建了几个对象?一个或两个。如果常量池中原来没有 ”xyz”, 就是两个。如果原来的常量池中存在“xyz”时,就是一个。==比较的是对象的地址,也就是是否是同一个对象;equal比较的是对象的值。(面试中经常问到,所以该记就记吧)在平时:replace,format用的还算比较多,但有时候比如URL的转义当中带有百分号,就不能使用format,但是可以使用replace来替换;

详细介绍:

1、字符串中包含的字符数,也就是字符串的长度。

int length():获取长度

2、根据位置获取位置上某个字符。

char charAt(int index)

3、根据字符获取该字符在字符串中的位置。

int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。

int indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。

int indexOf(String str):返回的是str在字符串中第一次出现的位置。

int indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置。

4、int lastIndexOf(String str):反向索引。

5、判断字符内容是否相同,复写了object类中的equals方法。

boolean equals(str);

6、判断内容是否相同,并忽略大小写。

boolean.equalsIgnorecase();

7、获取字符串中的而一部分

String subString(begin);

String subString(begin,end);

8、将字符串转成大写或小写

String toUpperCsae() 大转小

String toLowerCsae() 小转大

9、将字符串两端的多个空格去除

String trim();

10、字符串格式化

String String.format("%s", "");

代码事例:

public class StringTest {public static void main(String[] args) {String oneStr="this is String test";//字符串的长度System.out.println("String length():"+oneStr.length());//老生常谈的话题:创建了几个对象!这个可以写点内容String twoStr=new String("This is a String");//如果想知道某个字符串当中是否包含于另一个字符串,可以使用如下方法:int isExist=oneStr.indexOf("is");//如果返回-1则不存在(通常我都是判断是否小于零)System.out.println("indexOf():"+isExist);//如果想比较两个字符串(分两种情况,一种是地址,一种是值。通常是比较值的很多)boolean result=oneStr.equals(twoStr);//通常选用最不可能为null的作为函数调用者,因为这样可以避免空指针System.out.println("equals():"+result);//方法charAt()用以得到指定位置的字符。System.out.println("charAt():"+oneStr.charAt(6));//subString()是截取字符串的参数是截取的起始坐标,可以和indxOf一起使用,效果更佳,含头不含尾也可以讲出来String subStr=oneStr.substring(3);System.out.println("substring():"+subStr);//组合事例String subIndexStr=oneStr.substring(oneStr.indexOf("is"),oneStr.indexOf("String"));System.out.println("一起使用:"+subIndexStr);//replace可以覆盖掉字符串中的指定内容,有则替换,没有则不替换,String replaceStr=oneStr.replace("is", "are");System.out.println("replace():"+replaceStr);//大小写转换String upStr=oneStr.toUpperCase();System.out.println("toUpperCase():"+upStr);String downStr=oneStr.toLowerCase();System.out.println("toLowerCase():"+downStr);//驱除前后的空格String tirmStr="     tirm ";System.out.println("trim():"+tirmStr.trim());//替换指定内容,比较有效的方法String formatStr="你好,%s";System.out.println("format():"+String.format(formatStr, "世界"));} }

运行结果:

String length():19

indexOf():2

equals():false

charAt():s

substring():s is String test

一起使用:is is

replace():thare are String test

toUpperCase():THIS IS STRING TEST

toLowerCase():this is string test

trim():tirm

format():你好,世界

更多内容敬请关注我的个人博客:镜花水月的博客     转载请带上出处链接,谢谢,www.noreplace.com




1 0
原创粉丝点击