1.落笔缘由
之前只是粗略的记录了String的一下常用方法,所以去看了jdk文档,在这次希望能补全String常用的一下方法。
文档里面也介绍了String的用法,String 类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写。大小写映射基于 Character
类指定的 Unicode 标准版。
2.实践检验
/**
* contains(CharSequence s)
* 当且仅当此字符串包含指定的 char 值序列时,返回 true。
*/
private void testContains(String str)
{
boolean b = baseString.contains(str);
Log.i("lgy", "contains \'"+str+"\' return :"+b);
}
/**
* 这两个方法都是静态方法
* copyValueOf(char[] data)
* 返回指定数组中表示该字符序列的 String,可以理解为将字符数组转为字符串
* copyValueOf(char[] data, int offset, int count)
* 返回指定数组中,从offset位置开始的后面count个字符串,如下面的例子String.copyValueOf(data,0,3)
* 返回的就是从数组的0下标开始计算的3个字符,也就是'a','k','4'这3个字符以字符串的形式返回
*/
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)
* 使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。
* format(Locale l, String format, Object... args)
* 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。
* 详细使用方法可以查看http://blog.csdn.net/lgywsdy/article/details/61414547
* 这是转载的,尊重原创,请查看原创文章,这里只是为了方便我整理自己的笔记
*/
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的使用,月份简称
String str2=String.format(Locale.US,"英文月份简称:%tb",date);
Log.i("lgy", "format test 3 :"+str2);
}
/**
* intern()
* intern 这个方法返回的是 返回字符串对象的规范化表示形式,
* 当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),
* 则返回池中的字符串。否则,将此 String 对象添加到池中,并且返回此 String 对象的引用。
*/
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)
* 返回一个新字符串,它是此字符串的一个子字符串。
* 意思是返回以beginIndex下标开始,到endIndex(不包括endIndex下标的字符)字符
*/
private void testSubstring()
{
String s1 = "ab123" ;
String str2 = s1.substring(2, 5);
Log.i("lgy", "Substring test :"+str2);
}
3.总结
虽然还是没有将所以的方法都用例子检验过,如到小学转换等方法比较简单,就没有用例子来解释了。如果关系到字符串操作的,最好还是去查看文档,看看有没有我们需要的现成操作方法。
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