javaSE_String
2016-04-07 00:14
393 查看
类String
java.lang.Object
java.lang.String
String是不变对象,即
字符串对象创建后,内容不可改变,一旦想改变内容会创建新对象,
创建字符串对象推荐使用字面量的形式,这样做会重用对象,减小内存开销。
int length()
* 返回当前字符串的长度(字符个数,中英文都算1个长度)
int indexOf(Stringstr)
* 检查给定字符串在当前字符串中的位置
* 若当前字符串不包含给定内容,返回值为-1
String str="thinking in java";//0123456789012345
intindex=str.indexOf("in");
System.out.println(index);//2
intindex1=str.indexOf("In");
System.out.println(index1);//-1
int indexOf(Stringstr,int fromIndex)
* 重载方法,可以从指定下标处开始查找
* 第一次出现指定字符的位置
index1=str.indexOf("in",3);
System.out.println(index1);//5
int lastIndexOf(Stringstr)
*找到当前字符串中最后一次出现给定字符串的位置
intlast=str.lastIndexOf("in");
System.out.println(last);//9
String substring(int beginIndex,intendIndex)
* 截取字符串
* 从当前字符串的start处开始,连续截取到end处
* 需要注意的是,截取的字符串不包含end处对应的字符
* 在java api中,通常使用2个数字表示范围时,都是“含头不含尾的”
String str="www.oracle.com";//01234567890123
//截取“oracle”
Stringsub=str.substring(4,10);
System.out.println(sub);//oracle
String substring(int beginIndex)
*重载方法,只传入一个参数,就是从该位置处开始,连续截取到字符串末尾
sub=str.substring(4);
System.out.println(sub);//oracle.com
String trim()
* 去除当前字符串中两边的空白字符
String str=" java ";
System.out.println(str);//java
Stringtrim=str.trim();
System.out.println(trim);//java
char charAt(int index)
* 获取当前字符串中指定位置上的字符
boolean startsWith(String str)
* 判断当前字符串是否是以给定的字符串开始的
boolean endsWith(String str)
* 判断当前字符串是否是以给定的字符串结尾的
String toUpperCase()
* 将当前字符串中的英文字母转换为全大写
String toLowerCase()
* 将当前字符串中的英文部分转换为全小写
String提供了若干个valueOf的重载方法
* 这些方法都是静态的
* 作用是将java中其他类型转换为字符串
* 常用的是将基本类型转换为字符串
int i=123;
StringiStr=String.valueOf(i);
System.out.println(iStr);//"123"
boolean matches(String regex) 匹配
* 根据给定的正则表达式来验证当前字符串是否满足
* 格式要求,满足则返回true,否则则返回false
* 需要注意:无论正则表达式是否有边界匹配(^$),都是做全匹配证。
String[] split(String regex) 拆分
* 将当前字符串中满足给定正则表达式的部分进行拆分,返回所有剩下的部分
String replaceAll(String regex,String str)
替换
* 将当前字符串中满足给定正则表达式的部分替换为给定的字符串。
类StringBuilder
java.lang.Object
java.lang.StringBuilder
* 使用该类来编辑字符串内容。
* 由于使用String频繁修改字符串对系统开销巨大,
* 所有该操作,应当使用StringBuilder来解决
* StringBuilder提供了便于编辑字符串相关方法
* 增,删,改,插
* StringBuilder append(String str)
将给定的字符串追加到当前字符串末尾
* StringBuilderreplace(int start,int end, String
str)
将给定字符串替换指定范围内的原字符串
* StringBuilderdelete(int start,int end)
删除当前字符串指定范围内的字符
* StringBuilderinsert(int index,String str)
将给定的字符串插入到指定位置
* StringBuilder reverse();
翻转字符串
String str="努力学习java";
StringBuilderbuilder=new StringBuilder(str);
//将StringBuilder中的字符串获取
System.out.println(builder.toString();//努力学习java
builder.append(",为了找个好工作!");
System.out.println(builder.toString());
//努力学习java,为了找个好工作
* 0 1 2 3 45678 9 0 1 23 4 56
* 努力学习java,为了找个好工作!
* 修改为:努力学习java,就是为了改变世界!
builder.replace(9,16,"就是为了改变世界");
System.out.println(builder.toString());
//努力学习java,就是为了改变世界!
* 努力学习java,就是为了改变世界!
* 修改为:,就是为了改变世界!
builder.delete(0,8);
System.out.println(builder.toString());
//,就是为了改变世界!
* ,就是为了改变世界!
* 修改为:活着,就是为了改变世界!
builder.insert(0,"活着");
System.out.println(builder.toString());
//活着,就是为了改变世界!
builder.reverse();
System.out.println(builder.toString());
//!界世变改了为是就,着活
java.lang.Object
java.lang.String
String是不变对象,即
字符串对象创建后,内容不可改变,一旦想改变内容会创建新对象,
创建字符串对象推荐使用字面量的形式,这样做会重用对象,减小内存开销。
int length()
* 返回当前字符串的长度(字符个数,中英文都算1个长度)
int indexOf(Stringstr)
* 检查给定字符串在当前字符串中的位置
* 若当前字符串不包含给定内容,返回值为-1
String str="thinking in java";//0123456789012345
intindex=str.indexOf("in");
System.out.println(index);//2
intindex1=str.indexOf("In");
System.out.println(index1);//-1
int indexOf(Stringstr,int fromIndex)
* 重载方法,可以从指定下标处开始查找
* 第一次出现指定字符的位置
index1=str.indexOf("in",3);
System.out.println(index1);//5
int lastIndexOf(Stringstr)
*找到当前字符串中最后一次出现给定字符串的位置
intlast=str.lastIndexOf("in");
System.out.println(last);//9
String substring(int beginIndex,intendIndex)
* 截取字符串
* 从当前字符串的start处开始,连续截取到end处
* 需要注意的是,截取的字符串不包含end处对应的字符
* 在java api中,通常使用2个数字表示范围时,都是“含头不含尾的”
String str="www.oracle.com";//01234567890123
//截取“oracle”
Stringsub=str.substring(4,10);
System.out.println(sub);//oracle
String substring(int beginIndex)
*重载方法,只传入一个参数,就是从该位置处开始,连续截取到字符串末尾
sub=str.substring(4);
System.out.println(sub);//oracle.com
String trim()
* 去除当前字符串中两边的空白字符
String str=" java ";
System.out.println(str);//java
Stringtrim=str.trim();
System.out.println(trim);//java
char charAt(int index)
* 获取当前字符串中指定位置上的字符
boolean startsWith(String str)
* 判断当前字符串是否是以给定的字符串开始的
boolean endsWith(String str)
* 判断当前字符串是否是以给定的字符串结尾的
String toUpperCase()
* 将当前字符串中的英文字母转换为全大写
String toLowerCase()
* 将当前字符串中的英文部分转换为全小写
String提供了若干个valueOf的重载方法
* 这些方法都是静态的
* 作用是将java中其他类型转换为字符串
* 常用的是将基本类型转换为字符串
int i=123;
StringiStr=String.valueOf(i);
System.out.println(iStr);//"123"
boolean matches(String regex) 匹配
* 根据给定的正则表达式来验证当前字符串是否满足
* 格式要求,满足则返回true,否则则返回false
* 需要注意:无论正则表达式是否有边界匹配(^$),都是做全匹配证。
String[] split(String regex) 拆分
* 将当前字符串中满足给定正则表达式的部分进行拆分,返回所有剩下的部分
String replaceAll(String regex,String str)
替换
* 将当前字符串中满足给定正则表达式的部分替换为给定的字符串。
类StringBuilder
java.lang.Object
java.lang.StringBuilder
* 使用该类来编辑字符串内容。
* 由于使用String频繁修改字符串对系统开销巨大,
* 所有该操作,应当使用StringBuilder来解决
* StringBuilder提供了便于编辑字符串相关方法
* 增,删,改,插
* StringBuilder append(String str)
将给定的字符串追加到当前字符串末尾
* StringBuilderreplace(int start,int end, String
str)
将给定字符串替换指定范围内的原字符串
* StringBuilderdelete(int start,int end)
删除当前字符串指定范围内的字符
* StringBuilderinsert(int index,String str)
将给定的字符串插入到指定位置
* StringBuilder reverse();
翻转字符串
String str="努力学习java";
StringBuilderbuilder=new StringBuilder(str);
//将StringBuilder中的字符串获取
System.out.println(builder.toString();//努力学习java
builder.append(",为了找个好工作!");
System.out.println(builder.toString());
//努力学习java,为了找个好工作
* 0 1 2 3 45678 9 0 1 23 4 56
* 努力学习java,为了找个好工作!
* 修改为:努力学习java,就是为了改变世界!
builder.replace(9,16,"就是为了改变世界");
System.out.println(builder.toString());
//努力学习java,就是为了改变世界!
* 努力学习java,就是为了改变世界!
* 修改为:,就是为了改变世界!
builder.delete(0,8);
System.out.println(builder.toString());
//,就是为了改变世界!
* ,就是为了改变世界!
* 修改为:活着,就是为了改变世界!
builder.insert(0,"活着");
System.out.println(builder.toString());
//活着,就是为了改变世界!
builder.reverse();
System.out.println(builder.toString());
//!界世变改了为是就,着活