解决方案 »

  1.   

    可以去看String的源代码啊,在jdk目录里有个src.zip,打开压缩包依次进入java/lang/String.java就能看见了
      

  2.   


    你好,我不知道为什么你会这么认为。因为我之前在学习JAVA算法学习到了BoyerMoore算法觉得对于字符串查找效率提高了很多。但是拿了很多测试例子来测试运行时间发现自带的indexOf运行时间差不多。
    所以一直想知道自带的API的具体算法。很感谢feg545的赐教,作为小白,虽然可能对于工作一段时间的人来说这是很愚蠢的问题吧,可是对于小白是很难知道这种东西的。
      

  3.   

    我这么说原因很简单
    1、indexOf就有现成的源代码,如果你希望了解算法,你可以自己去研究,如果你勤快一点,善于查找资料,可能相关的文档和解释你都自己找到,你到这里来问,几乎不会有人回答你,因为大家都只知道indexOf是干什么的,具体怎么实现的,用什么算法,恐怕很少有人会去钻研,因为钻研算法的人不搞这个,搞这个的不钻研算法,就像java中的sort方法一样,你知道它用的什么排序么?
    2、关于时间复杂度问题,这是一个跟算法有关,跟语言无关的问题,有了算法公式,那么时间复杂度公式就会有,带入值很快就能得出结果,如果知道算法就没必要问这个问题,而且一谈到时间复杂度,那么对应的空间复杂度的问题也会讨论,你在这个不研究算法的地方问一个这样的问题,自然不会有人回答你,而且我觉得也没几个人能回答你。
    3、关于你说的那个算法,你既然知道了算法,那么时间复杂度肯定就知道了,那还有问的必要么?如果你不懂得如何测算算法的时间复杂度和空间复杂度,告诉你,你能懂么?你为什么不先学会如何测算算法的时间复杂度,而要到这里来问?一条康庄大道在前,却要舍近求远?