Java源码解读(二)——String中的indexOf(String)

本文探讨了在Java中如何实现查找子串的indexOf方法。在面试中遇到子串匹配问题,作者最初使用了暴力算法。通过研究Java源码,发现indexOf方法实际上也采用了类似暴力的策略,即从父串中找到与子串首字符匹配的索引,然后依次比较后续字符。若匹配成功,则返回匹配起始索引,否则继续搜索。
摘要由CSDN通过智能技术生成

前天面试,面试官给了我一小时,让我写一个判断子串的函数,我虽然想到了KMP,但是不知其实现原理,就写了个暴力算法。

今天看了一下Java源码中查找子串的函数,发现它们也是用的暴力(笑:先遍历父串,找到与子串第一个字符相同的字符的索引,再从该索引开始进行后面字符的比较,如果成功则返回该索引,否则从该索引后面继续寻找子串。

indexOf(String)

public int indexOf(String str) {
   
    return indexOf(str, 0);
}
public int indexOf(String str, int fromIndex) {
   
    return indexOf(value, 0, value.length,
            str.value, 0, str.value
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值