博客
关于我
JDK之String源码解读(五)
阅读量:276 次
发布时间:2019-03-01

本文共 1382 字,大约阅读时间需要 4 分钟。

Java String类常用方法解析

1. startsWith(String prefix, int toffset)

说明

该方法用于判断当前字符串是否从指定位置开始以指定的前缀开头。即是否在给定的偏移量位置之后,字符串的前缀与指定的前缀完全一致。

示例

String str = "HelloWorld";boolean starts = str.startsWith("Hello", 3);// 假设str的长度为10,str.substring(3)为"World"// "World"不以"World"开头,故starts为false

特点

  • 参数为prefix和int偏移量toffset。
  • toffset必须在字符串长度内,否则返回false。
  • 如果字符串长度小于prefix长度,直接返回false。

2. startsWith(String prefix)

说明

判断当前字符串是否以指定前缀开头,无需指定偏移量,默认从字符串开头开始判断。

示例

String str = "HelloWorld";boolean starts = str.startsWith("Hello");// 返回true

特点

  • 只需传递前缀作为参数。
  • 如果字符串长度小于前缀长度,返回false。
  • 适用于常见的前缀检查场景。

3. endsWith(String suffix)

说明

判断当前字符串是否以指定后缀结尾。

示例

String str = "HelloWorld";boolean ends = str.endsWith("d");// 返回true

特点

  • 仅需传递后缀作为参数。
  • 后缀可以是单字符,也可以是多字符。
  • 适用于文件扩展名或路径结尾检查。

4. hashCode()

说明

返回当前字符串的哈希码值。String的哈希码计算公式为:s[0] * 31^(n-1) + s[1] * 31^(n-2) + ... + s[n-1]

示例

String str = "abc";int hash = str.hashCode();// hash值为 (a * 31^2) + (b * 31^1) + (c * 31^0)

特点

  • 用于缓存和比较字符串唯一性。
  • 不同字符串可能有相同的哈希码,但概率极低。

5. indexOf(int ch)

说明

查找字符串中第一个等于指定字符的位置。如果字符不在字符串中,返回-1。

示例

String str = "abcde";int index = str.indexOf('c');// 返回2

特点

  • 参数为单个字符int值。
  • 可用于查找字符串中的字符位置。
  • 适用于处理字符替换或删除。

6. lastIndexOf(int ch)

说明

查找字符串中最后一个等于指定字符的位置。如果字符不在字符串中,返回-1。

示例

String str = "cbaabc";int index = str.lastIndexOf('a');// 返回4

特点

  • 与indexOf类似,但查找最后一个字符。
  • 适用于处理逆向查找或删除操作。

总结

以上方法为Java String类中常用的字符串操作接口,涵盖了前缀、后缀、哈希码、字符查找等功能。理解这些方法有助于更高效地处理字符串操作,提升代码的性能和可读性。

转载地址:http://ayrx.baihongyu.com/

你可能感兴趣的文章
npm错误Error: Cannot find module ‘postcss-loader‘
查看>>
npm,yarn,cnpm 的区别
查看>>
NPOI
查看>>
NPOI之Excel——合并单元格、设置样式、输入公式
查看>>
NPOI初级教程
查看>>
NPOI利用多任务模式分批写入多个Excel
查看>>
NPOI在Excel中插入图片
查看>>
NPOI将某个程序段耗时插入Excel
查看>>
NPOI格式设置
查看>>
NPOI设置单元格格式
查看>>
Npp删除选中行的Macro录制方式
查看>>
NR,NF,FNR
查看>>
nrf24l01+arduino
查看>>
nrf开发笔记一开发软件
查看>>
nrm —— 快速切换 NPM 源 (附带测速功能)
查看>>
nrm报错 [ERR_INVALID_ARG_TYPE]
查看>>
NS3 IP首部校验和
查看>>
NSDateFormatter的替代方法
查看>>
NSError 的使用方法
查看>>
NSGA-Ⅲ源代码
查看>>