javaSE_String

来源:互联网 发布:人体润滑液 知乎 编辑:程序博客网 时间:2024/06/11 10:06

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, Stringstr)

将给定字符串替换指定范围内的原字符串

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

//!界世变改了为是就,着活

0 0
原创粉丝点击