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

你可能感兴趣的文章
ParameterizedThreadStart task
查看>>
Spring security之管理session
查看>>
paramiko模块
查看>>
param[:]=param-lr*param.grad/batch_size的理解
查看>>
spring mvc excludePathPatterns失效 如何解决spring拦截器失效 excludePathPatterns忽略失效 拦截器失效 spring免验证拦截器不起作用
查看>>
Spring Cloud 之注册中心 EurekaServerAutoConfiguration源码分析
查看>>
Parrot OS 6.2 重磅发布!推出全新 Docker 容器启动器
查看>>
Parrot OS 6.3 发布!全面提升安全性,新增先进工具,带来更高性能
查看>>
ParseChat应用源码ios版
查看>>
Part 2异常和错误
查看>>
Pascal Script
查看>>
Spring Boot集成Redis实现keyspace监听 | Spring Cloud 34
查看>>
Spring Boot中的自定义事件详解与实战
查看>>
Passport 密码模式
查看>>
Spring Boot(七十六):集成Redisson实现布隆过滤器(Bloom Filter)
查看>>
passwd命令限制用户密码到期时间
查看>>
Spring @Async执行异步方法的简单使用
查看>>
PAT (Basic Level) Practice 乙级1021-1030
查看>>
PAT (Basic Level) Practice 乙级1031-1040
查看>>
PAT (Basic Level) Practice 乙级1041-1045
查看>>