详解java中的String类的substring()方法

    技术2024-01-21  107

    substring()方法功能:

    substring()方法是String类的一个方法,故该方法的调用者为String类的对象,即字符串。 str.substring(indexStart,indexEnd)功能为:截取方法调用者(即str)的从indexStart到indexEnd(包括indexStart,不包括indexEnd;即含头不含尾、或左闭右开区间内的子字符串) 例如:

    public class App { public static void main(String[] args) { String str = "123456789"; System.out.println(str.substring(0,3)); } }

    结果:

    关于substring(indexStart,indexEnd)方法的补充说明: 1、如果indexStart等于indexEnd,substring()方法返回一个空字符串; 2、如果任一参数小于0,则被当做0; 3、如果任一参数大于str.lengtn(),则被当做str.lengtn()。

    Java的API中的String类的substring源码:

    public String substring(int beginIndex) { if (beginIndex < 0) { throw new StringIndexOutOfBoundsException(beginIndex); } int subLen = value.length - beginIndex; if (subLen < 0) { throw new StringIndexOutOfBoundsException(subLen); } return (beginIndex == 0) ? this : new String(value, beginIndex, subLen); }

    substring(int beginIndex)从beginIndex截取到字符串的末尾,包括开始位置

    例如:

    public class App { public static void main(String[] args) { String str = "123456789"; System.out.println(str.substring(3)); } } //结果为456789 public String substring(int beginIndex, int endIndex) { if (beginIndex < 0) { throw new StringIndexOutOfBoundsException(beginIndex); } if (endIndex > value.length) { throw new StringIndexOutOfBoundsException(endIndex); } int subLen = endIndex - beginIndex; if (subLen < 0) { throw new StringIndexOutOfBoundsException(subLen); } return ((beginIndex == 0) && (endIndex == value.length)) ? this : new String(value, beginIndex, subLen); }

     

    Processed: 0.009, SQL: 9