博客
关于我
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/

你可能感兴趣的文章
NUMPY矢量化np.prod不能构造具有超过32个操作数的ufunc
查看>>
Numpy矩阵与通用函数
查看>>
numpy绘制热力图
查看>>
numpy转PIL 报错TypeError: Cannot handle this data type
查看>>
Numpy闯关100题,我闯了95关,你呢?
查看>>
Nutch + solr 这个配合不错哦
查看>>
NuttX 构建系统
查看>>
NutUI:京东风格的轻量级 Vue 组件库
查看>>
NutzCodeInsight 2.0.7 发布,为 nutz-sqltpl 提供友好的 ide 支持
查看>>
NutzWk 5.1.5 发布,Java 微服务分布式开发框架
查看>>
NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现
查看>>
Nuxt Time 使用指南
查看>>
NuxtJS 接口转发详解:Nitro 的用法与注意事项
查看>>
NVelocity标签使用详解
查看>>
NVelocity标签设置缓存的解决方案
查看>>
Nvidia Cudatoolkit 与 Conda Cudatoolkit
查看>>
NVIDIA GPU 的状态信息输出,由 `nvidia-smi` 命令生成
查看>>
NVIDIA-cuda-cudnn下载地址
查看>>
nvidia-htop 使用教程
查看>>
nvidia-smi 参数详解
查看>>