Java的String类的常用方法【总结】


1. 常见的获取方法

  1. hashCode()
  2. length():获取字符串长度;
  3. charAt(int index):获取指定索引位置的字符;
  4. indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引;
  5. lastIndexOf():返回指定字符在字符串中最后一次出现的位置的索引;
  6. substring(int start):从指定位置开始截取字符串,默认到末尾
  7. substring(int start,int end):从指定位置开始到指定位置结束截取字符串;

1.1 hashCode()方法

1.2 length()方法

  • 返回字符串长度

1.3 charAt(int index)方法

  • 返回指定索引处的字符
    在这里插入图片描述

1.4 indexOf(int ch)方法

 int indexOf(int ch)   
     //返回指定字符在此字符串中第一次出现处的索引。  
 int indexOf(int ch, int fromIndex)   
      //返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。  
 int indexOf(String str)   
      //返回指定子字符串在此字符串中第一次出现处的索引。  
 int indexOf(String str, int fromIndex)   
      //返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。

在这里插入图片描述

1.4.1 为什么indexOf()的局部参数是数据类型是int不是char

  1. Java中用char来表示Unicode字符,由于刚开始Unicode最多使用16bit表示。因此char能够表示全部的Unicode字符。后来由于Unicode4.0规定Unicode支持的字符远远超过65536个字符。因此char现在不能表示所有的unicode字符。仅仅能表示0x000000到0x00FFFF(00 代表的就是拉丁文及其符号)之间的字符。也就是说,char不能表示增补字符。

  2. Java中用int表示所有Unicode代码点。int的21个低位(最低有效位)用于表示Unicode代码点,并且11个高位(最高有效位)必须为零。也就是说,int能表示出char不能表示的增补字符。

1.5 lastIndexOf()方法

lastIndexOf(int ch,int formIndex):返回指定字符在字符串中最后一次出现的位置的索引,从指定索引处进行反向搜索
   例如:
       String str = “abcabc”;
       System.out.println(str.lastIndexOf(“c”,3));//结果:2
lastIndexOf(String str):返回指定子字符串在字符串中最后一次出现处的索引
   例如:
       String str1 = “abcdeabcde”;
       String str2 = “cde”;
       System.out.println(str1.lastIndexOf(str2));//结果:7
lastIndexOf(String str,int fromIndex):返回指定字符串在字符串中最后一次出现的索引,从指定所引出开始反向搜索
   例如:
       String str1 = “abcdeabcde”;
       String str2 = “cde”;
       System.out.println(str1.lastIndexOf(str1.lastIndexOf(str2,6)));
       //结果:2

1.6 substring()方法

substring(int start):从指定位置开始截取字符串,默认到末尾
substring(int start,int end):从指定位置开始到指定位置结束截取字符串;

  • 截取

在这里插入图片描述

2. 常见String类的判断功能

  1. equals(Object obj): 比较字符串的内容是否相同,区分大小写;
  2. contains(String str): 判断字符串中是否包含传递进来的字符串;
  3. equalsIgnoreCase(): 比较字符串的内容是否相同,不区分大小写
  4. startsWith(String str): 判断字符串是否以传递进来的字符串开头;
  5. endsWith(String str): 判断字符串是否以传递进来的字符串结尾;
  6. isEmpty(): 判断字符串的内容是否为空串"";

2.1 equals()方法和==的区别

对于基本类型, == 比较的是值;
对于引用类型,== 比较的是地址;
equals不能用于基本类型的比较;
如果没有重写equals,equals就相当于 ==;
如果重写了equals方法,equals比较的是对象的内容;

2.2 contains()方法

  • 判断是否包含,返回值是布尔类型
    在这里插入图片描述

2.3 equalsIgnoreCase()方法

  • 比较,忽略大小写
    在这里插入图片描述

2.4 endsWith()和startsWith()方法

  • 判断字符串是否以传递进来的字符串开头或结尾
    在这里插入图片描述

2.5 isEmpty()

  • 是否为空
    在这里插入图片描述

3. 常见String类的转换功能

  1. byte[] getBytes(): 把字符串转换为字节数组;
  2. char[] toCharArray(): 把字符串转换为字符数组;
  3. String valueOf(char[] chs): 把字符数组转成字符串。valueOf可以将任意类型转为字符串;
  4. toLowerCase(): 把字符串转成小写;
  5. toUpperCase(): 把字符串转成大写;
  6. concat(String str): 把字符串拼接;

3.1. byte[] getBytes(): 把字符串转换为字节数组;

在这里插入图片描述

3.2. char[] toCharArray(): 把字符串转换为字符数组;

在这里插入图片描述

3.3. String valueOf(char[] chs): 把字符数组转成字符串。valueOf可以将任意类型转为字符串;

3.3.1 基本类型转换为字符串

String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串

String.valueOf(char c) : 将 char 变量 c 转换成字符串

String.valueOf(char[] data) : 将 char 数组 data 转换成字符串

String.valueOf(char[] data, int offset, int count) : 将 char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串

String.valueOf(double d) : 将 double 变量 d 转换成字符串

String.valueOf(float f) : 将 float 变量 f 转换成字符串

String.valueOf(int i) : 将 int 变量 i 转换成字符串

String.valueOf(long l) : 将 long 变量 l 转换成字符串

String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()

3.3.2 字符串转换为基本类型

要将 String 转换成基本数据型态转 ,大多需要使用基本数据型态的包装类别

比如说 String 转换成 byte ,可以使用 Byte.parseByte(String s) ,这一类的方法如果无法将 s 分析 则会丢出 NumberFormatException

byte : Byte.parseByte(String s) : 将 s 转换成 byte

Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte ,比如说 Byte.parseByte(“11”, 16) 会得到 17

double : Double.parseDouble(String s) : 将 s 转换成 double

float : Double.parseFloat(String s) : 将 s 转换成 float

int : Integer.parseInt(String s) : 将 s 转换成 int

long : Long.parseLong(String s)

3.4. toLowerCase(): 把字符串转成小写;

3.5. toUpperCase(): 把字符串转成大写;

3.6 concat()方法连接两个字符串

在这里插入图片描述

4. 其他

replace(char old,char new) 将指定字符进行互换
replace(String old,String new) 将指定字符串进行互换
trim() 去除两端空格
int compareTo(String str) 会对照ASCII 码表 从第一个字母进行减法运算 返回的就是这个减法的结果,如果前面几个字母一样会根据两个字符串的长度进行减法运算返回的就是这个减法的结果,如果连个字符串一摸一样 返回的就是0。

4.1 replace()方法

replace() 起到了一个字符串替换的作用(修改对象中的元素)

实现代码
String a = "hello wrold";
String b = "a";
a = a.replace("hello",b);
System.out.println(a);

输出结果:
a wrold
hello被替换成了a

4.2 trim()方法

指定要删除首部和尾部空格的字符串返回值String。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空字符串(“”)。 如果参数值为null时,会抛出空 指针异常。

主要是为了防止复制过来首尾出现字符串的可能
在这里插入图片描述

4.3 split()方法

  1. 分割字符串,参数regex称为分割符,可以使用正则表达式来表示
  2. 点击-》Java split方法详细讲解

4.4 compareTo()方法

1.用途:按字典序比较两个字符串

2.语法:int compareTo(String anotherString)

3.比较形式和返回值:

如果第一个字符和参数的第一个字符不等,结束比较,返回第一个字符的ASCII码差值。

如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至不等为止,返回该字符的ASCII码差值。 如果两个字符串不一样长,可对应字符又完全一样,则返回两个字符串的长度差值。

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

素心如月桠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值