您的位置:首页 > 编程语言 > Java开发

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());

//!界世变改了为是就,着活
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: