黑马程序员——String类

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

 

String类介绍

 

String类概述

字符串(string)是由字符数组构成的一个序列, java中字符串是一个对象

例如:  “abcd” 就是一个字符串对象

 

String类对象一旦创建, 他的值是不可以改变的

例如:

String s =“Java”;

s = “Hello”;

先创建了一个字符串对象”Java”, 将对象地址指向引用s, 又将”Hello”对象的地址指向了s

“Java”对象依然存在, 并没有被改变

 

可以通过多种方式来创建字符串对象, 最长用的是 String str = “abcd”;

String类还提供了多种方法用于处理字符串对象, 后面介绍一些常用的方法

 

String构造方法

1.      String(char[] value) 将字符数组中的所有字符拼接成一个字符串

例如: char[] ch = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’};

           String s =new String(ch);

           System.out.print(s);结果显示hello

 

2.      String(char[] ch, int offset,int count) 将字符数组中下标为offset开始的count个字符拼接成一个字符串

例如: char[] ch = {‘H’, ’e’, ’l’, ‘l’, ‘e’, ‘J’, ‘a’, ‘v’, ‘a’};

         String s =new String(ch, 5, 4);

         System.out.ptint(s);结果显示 Java

 

3.      String(byte[] b) 将数值对应的字符拼接成字符串

例如: byte[] b = {1, 2, 3, 4};

           String s =new String(b);

           System.out.print(s);结果显示 1234(这里的结果是”1234”)

 

4.      String(byte[] b, int offset,int count) 将数组中下标为offset开始的count个数值拼接成字符串, 原理跟String(char[] ch, int offset, int count)一样, 例子参照String(char[]ch, int offset, int count)

 

5.      String() String类的无参构造方法

例如: String s = newString();   //这里new出来的对象其实就是s =””;

           s = “abcd”;

 

6.      String(String s) 接受一个字符串的构造方法

例如: String s = newString(“abcd”);         //这里其实是 s =“abcd”

 

7.      String(int[] arr, int offset,int count) int[]里面下标为offset开始count个数值拼接成字符串, 例子参照上面第2个构造方法

 

String类的成员方法

比较的方法

1.      equals()

声明: public boolean equals(String s)

这个方法重写了Object类里面的equals方法, 比较的是两个字符串里面的内容是否相等, 如果内容相等, 返回true, 否则返回false

2.      equalsIgnoreCase()

声明: public boolean equalsIgnoreCase(String s)

equals方法类似, 但是这个方法忽略了字符串里面字符的大小写, 如果内容相等, 返回true, 否则返回false

3.      contains()

声明: public boolean contains(String s)

查看当前字符串是否包含s, 如果包含, 返回true, 否则false

4.      startsWith() endsWith()

4.1   声明: public boolean startsWith(String s)

查看当前字符串是否以s开头, 如果是返回true, 否则false

4.2   声明: pulibc boolean endsWith(String s)

查看当前字符串是否以s结尾, 如果是返回true, 否则false

5.      isEmpty()

声明: public boolean isEmpty()

查看当前字符是否为空(其实就是判断当前字符串长度是否为0, 参考下面的length()方法), 如果为空返回true, 否则false

转换的方法

1.      getBytes()

声明: public byte[] getBytes()

将当前字符串里面的字符转换到byte[]

2.      toCharArray()

声明: public char[] toCharArray()

将当前字符串里的字符转换到char[]

3.      valueOf()

声明: public static String valueOf(参数)

这里的参数可以是基本数据类型, char[], Object

返回基本类型的字符串形式, 例如”1”, “c”, “true”

char[] 可以单独传入得到从0开始到结束拼接的字符串, 也可以指定传入字符的其实位置, char[] ch, int offset, int count, 结果与构造方法结果一样

Object返回的是ObjecttoString()

4.      copyValueOf()

声明: publis static String copyOf(参数)

根据查看底层代码, valueOf用法一样

5.      toLowerCase() toUpperCase()

5.1   声明: public String toLowerCase()

将当前字符串里的字符全部转换为小写

例如: “AbCd”.toLowerCase(); 打印结果为”abcd”

5.2   声明: public String toUpperCase()

将当前字符串里的字符全部转换为大写

例如: “AbCd”.toUpperCase(); 打印结果为”ABCD”

 

获取的方法

1.      length()

声明: public int length()

得到当前字符串的长度, 有多少个字符长度就是多少

例如: “abcd”.length(); 结果是4

2.      charAt()

声明: public char charAt(int index)

得到字符串中第index个字符(字符串开始的位置是0)

3.      indexOf()

3.1   声明: public int indexOf(int code)

得到code相对应的字符第一次出现的位置, 如果没有返回-1

3.2   声明: public int indexOf(int code, int fromIndex)

得到code相对应的字符从字符串下标为fromIndex开始第一次出现的位置, 如没有, 返回-1

3.3   声明: public int indexOf(String s)

得到s第一次出现的位置下标, 如果没有返回-1

3.4   声明: public int indexOf(String s, int fromIndex)

得到s从当前字符串的第fromIndex开始第一次出现的位置, 如没有返回-1

 

注意: fromIndex为负数, 相当于从第0为开始找, 如果fromIndex>= length(), 那么返回-1

4.      lastIndexOf()

indexOf()相反, 它是从后往前找, 找最后一次出现的位置, 或者找在fromIndex之前最后一次出现的位置

注意: fromIndex>= length(), 相当于从leng() – 1开始找, fromIndex为负数时, 返回-1

5.      substring()

5.1   声明: public String substring(int start)

返回当前字符串从第start开始到结尾的新字符串

注意: statrt只能是0~length(), 如果大于length(), 会产生StringIndexOutOfBoundException异常

5.2   声明: public String substring(int start, int end)

返回当前字符串从start开始到end-1结尾的新字符串, 如果start > end, start小于0或者end > length(), 都会产生StringIndexOutOfBoundException异常

其它方法

1.      replace()

1.1   声明: public String replace(char oldChar, char newChar)

返回将当前字符串中oldChar全部替换为newChar的新字符串

1.2   声明: public String replace(String oldString, String newString)

返回将当前字符串中oldString全部替换为newString的新字符串

2.      split()

声明: public String[] split(String s)

返回以s切割点的String[]

3.      trim()

声明: public String trim()

返回一个去掉当前字符串前后空格的新字符串

4.      compareTo()

声明: public int compareTo(String s)

重写了Compare接口中的CompareTo方法

返回当前字符串和s中相应的字符的差值, 如果相同返回0

如果返回正数, 代表在字典中顺序在后

如果返回负数, 代表在字典中顺序在前

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值