黑马程序员---String类的常用操作

来源:互联网 发布:印度火车知乎 编辑:程序博客网 时间:2024/04/29 01:19

------- android培训、java培训、期待与您交流! ----------

String

String类的常用方法(操作)

 

String类适用于描述字符串事物。

那么它就提供了多个方法对字符串进行操作。

常见的操作有哪些?

1,获取,

1.1字符串中包含的字符数,也就是字符串的长度。

int length():获取长度。

1.2根据位置获取位置上某个字符。

char charAt(int index):

1.3根据字符获取该字符在字符串中的位置

int indexOf(int ch):返回的是ch在字符串中第一次出现的位置

int indexOf(int ch,fromIndex):fromIndex指定位置开始  获取ch第一次在字符串中出现的位置。

int indexOf(String str):返回的是str在字符串中第一次出现的位置

int indexOf(String str,fromIndex):fromIndex指定位置开始  获取str第一次在字符串中出现的位置。

2,判断。

2.1字符串中是否包含一个子串

boolean contains(str);

特殊之处:indexOf(str):也可以用于判断str是否被包含在字符串中,返回-1就不包含。功能与contains相当。

2.2字符中是否有内容

boolean isEmpty():原理就是判断长度length是否为零

2.3字符串是否是以指定内容开头

boolean startsWith(str);

2.4是否是以指定内容结尾

boolen endsWith(str)

2.5判断字符串内容是否相同,复写了Object类中的equals方法。

boolean equals(str);

2.6判断内容是否相同,并忽略大小写。

boolean equalsIgnoreCase();

3,转换。

3.1将字符数组转成字符串

构造函数:  String(char[])

String(char[],offset,count):将字符数组中的一部分转成字符串,offset开始,转count

静态方法:  static String copyValueOf(char[]);

copyValueOf(char[] data,int offset,int count)

3.2将字符串转成字符数组

char[] toCharArray();

3.3将字节数组转成字符串

 String(byte[])

String(byte[],offset,count):将字符数组中的一部分转成字符串,offset开始,转count

3.4将字符串转成字节数组

byte[] getBytes();

4,替换。

String replace(oldchar,newchar);

例:String s="abcde";

String s1=s.replace('a','n');

结果:s还是abcde   因为字符串一旦初始化不可以改变   replace返回的是一个新字符串s1

String s2=replace("de","fg");替换字符串

5,切割

String[] split(regex);

: String s="a,b,w,d,g,e";

String[] arr=s.split(",");//按照","

6,子串。获取字符串中的一部分

String substring(begin);

String substring(begin,end);

例:String s="abcde";

sop(s.substring(3));de

sop(s.substring(3,4));c  包含头不包含尾。s.substring(0,s.length());整个

7,转换,去除空格,比较

7.1将字符串转成大写或小写

String toUpperCase();

String toLowerCase();

7.2将字符串两端多个空格去除

String trim();

7.3对两个字符串进行自然顺序的比较

int compareTo(string)

class StringDemo {public static void main(String[] args) {String s1="abc";//s1是一个类类型变量,“abc”是一个对象//字符串最大特点:一旦被初始化就不可以被改变。s1="kk";//打印s1是kk,但是不是abc变了,是s1指向了kk而已,abc还存在于内存中。String s2=new String("abc");//用这种方法再定义一个新的字符串对象String s3="abc";//s1==s3是trueSystem.out.println(s1==s2);//结果false,因为这是比较是否为一个对象。System.out.println(s1.equals(s2));//结果true,因为String类复写了Object类中的equals方法//该方法时用于判断字符串内容是否相同的。//s1,s2有什么区别呢?s1有一个对象s2有两个对象}}


方法演示

class  StringMethodDemo{public static void method_is(){String str="StringDemo.java";//判断是否以String开头sop(str.startsWith("String"));//判断是否为java文件sop(str.endsWith(".java"));//判断是否包含Demosop(str.contains("Demo"));}public static void method_get(){String str="abcdefg";//长度sop(str.length());//后边定义sop方法//根据索引获取字符sop(str.charAt(3));//当访问到字符串超过的角标时会提示角标越界异常//根据字符获取索引sop(str.indexOf('a',1));//当访问字符串中不存在的字符时则返回-1//反向索引一个字符出现的位置sop(str.lastIndexOf("a"));}//Object obj可以任意类型数据都可以往里传,这是1.5的新特性public static void sop(Object obj){System.out.println(obj);}public static void main(String[] args) {//method_get();method_is();}}