public String substring(int begin , int end)  方法有两个参数 第一个参数代表子字符串的开始位置(从零开始),但是第二个参数是原String的位置号(从一开始).
请问SUN公司为什么要这么设计,会不会有点麻烦,为什么不是两个参数都是从零开始呢? 
请问各位有经验的GGJJ,在实际工作中这个方法有什么方便的吗?

解决方案 »

  1.   

    public String substring(int begin , int end)
    第二参数是结束位置之后,后前相减是长度啊
      

  2.   

    方便的倒没有。但是这样比较符合逻辑吧。
    如果第二个也是从零开始那么substring(0,0)的意义就是从第0个开始取,取到第0个为止。那么第0个字符到底是取还是不取呢。同样substring(1,1),substring(2,2)substring(n,n)都是这个问题
      

  3.   

    想了想还是 welshem(天堂客)的意思吧。sun公司自己取长度方便。给你倒无所谓方便不方便。反正它有返回长度的方法
      

  4.   

    public String substring(int begin , int end)  方法有两个参数 第一个参数代表子字符串的开始位置(从零开始),但是第二个参数是原String的位置号(从一开始).谁告诉你的阿,文档上写的是开始和结束的下标,都是从0开始,只不过第一个是包括的,第二个是不包括的(原文是inclusive和exclusive),这样啊,简单啊,就是for (int i = begin; i < start; i++)