最近想记录下自己的学习历程,顺便来补充下基础,就从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