1.落筆緣由
之前只是粗略的記錄了String的一下常用方法,所以去看了jdk文檔,在這次希望能補(bǔ)全String常用的一下方法。
文檔里面也介紹了String的用法,String 類包括的方法可用于檢查序列的單個(gè)字符、比較字符串、搜索字符串、提取子字符串、創(chuàng)建字符串副本并將所有字符全部轉(zhuǎn)換為大寫或小寫。大小寫映射基于 Character
類指定的 Unicode 標(biāo)準(zhǔn)版。
2.實(shí)踐檢驗(yàn)
/**
* contains(CharSequence s)
* 當(dāng)且僅當(dāng)此字符串包含指定的 char 值序列時(shí),返回 true。
*/
private void testContains(String str)
{
boolean b = baseString.contains(str);
Log.i("lgy", "contains \'"+str+"\' return :"+b);
}
/**
* 這兩個(gè)方法都是靜態(tài)方法
* copyValueOf(char[] data)
* 返回指定數(shù)組中表示該字符序列的 String,可以理解為將字符數(shù)組轉(zhuǎn)為字符串
* copyValueOf(char[] data, int offset, int count)
* 返回指定數(shù)組中,從offset位置開始的后面count個(gè)字符串,如下面的例子String.copyValueOf(data,0,3)
* 返回的就是從數(shù)組的0下標(biāo)開始計(jì)算的3個(gè)字符,也就是'a','k','4'這3個(gè)字符以字符串的形式返回
*/
private void testcopyValueOf()
{
char[] data = {'a','k','4','7'};
String str = String.copyValueOf(data);
Log.i("lgy", "Array to string:"+str);
String str2 = String.copyValueOf(data,0,3);
Log.i("lgy", "Array to string2:"+str2);
}
/**
* format(String format, Object... args)
* 使用本地語(yǔ)言環(huán)境,制定字符串格式和參數(shù)生成格式化的新字符串。
* format(Locale l, String format, Object... args)
* 使用指定的語(yǔ)言環(huán)境,制定字符串格式和參數(shù)生成格式化的字符串。
* 詳細(xì)使用方法可以查看http://blog.csdn.net/lgywsdy/article/details/61414547
* 這是轉(zhuǎn)載的,尊重原創(chuàng),請(qǐng)查看原創(chuàng)文章,這里只是為了方便我整理自己的筆記
*/
private void testFormat()
{
String str=null;
str=String.format("Hi,%s", baseString);
Log.i("lgy", "format test 1 :"+str);
str=String.format("Hi,%s:%s.%s", "lgy1","lgy2","lgy3");
Log.i("lgy", "format test 2 :"+str);
Date date=new Date();
//b的使用,月份簡(jiǎn)稱
String str2=String.format(Locale.US,"英文月份簡(jiǎn)稱:%tb",date);
Log.i("lgy", "format test 3 :"+str2);
}
/**
* intern()
* intern 這個(gè)方法返回的是 返回字符串對(duì)象的規(guī)范化表示形式,
* 當(dāng)調(diào)用 intern 方法時(shí),如果池已經(jīng)包含一個(gè)等于此 String 對(duì)象的字符串(該對(duì)象由 equals(Object) 方法確定),
* 則返回池中的字符串。否則,將此 String 對(duì)象添加到池中,并且返回此 String 對(duì)象的引用。
*/
private void testIntern()
{
String s1 = "ab123" ;
String s2 = new String( "ab123" ) ;
System.out.println( s1 == s2 );
String s3 = s2.intern() ;
System.out.println( s1 == s3 ) ;
}
/**
* substring(int beginIndex, int endIndex)
* 返回一個(gè)新字符串,它是此字符串的一個(gè)子字符串。
* 意思是返回以beginIndex下標(biāo)開始,到endIndex(不包括endIndex下標(biāo)的字符)字符
*/
private void testSubstring()
{
String s1 = "ab123" ;
String str2 = s1.substring(2, 5);
Log.i("lgy", "Substring test :"+str2);
}
3.總結(jié)
雖然還是沒有將所以的方法都用例子檢驗(yàn)過,如到小學(xué)轉(zhuǎn)換等方法比較簡(jiǎn)單,就沒有用例子來解釋了。如果關(guān)系到字符串操作的,最好還是去查看文檔,看看有沒有我們需要的現(xiàn)成操作方法。
4.源碼地址
http://download.csdn.net/detail/lgywsdy/9777674
5.參考文章
http://blog.csdn.net/lonely_fireworks/article/details/7962171/
jdk英文
http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4
jdk中文
http://tool.oschina.net/apidocs/apidoc?api=jdk-zh