最近想记录下自己的学习历程,顺便来补充下基础,就从javase部分开始吧,下面来介绍一下String类的常用api:
首先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