Tests if this StringBuilder ends with the specified suffix. - Java java.lang

Java examples for java.lang:StringBuilder

Description

Tests if this StringBuilder ends with the specified suffix.

Demo Code


//package com.java2s;

public class Main {
    public static void main(String[] argv) throws Exception {
        StringBuilder sb = new StringBuilder();
        String suffix = "java2s.com";
        System.out.println(endsWith(sb, suffix));
    }/*  w  w  w .  ja  va 2  s  . c  om*/

    /**
     * Tests if this <tt>StringBuilder</tt> ends with the specified suffix.
     *
     * @param suffix the suffix.
     * @return  <code>true</code> if the character sequence represented by the
     *          argument is a suffix of the character sequence represented by
     *          this object; <code>false</code> otherwise. Note that the
     *          result will be <code>true</code> if the argument is the
     *          empty string or is equal to the specified
     *          <code>StringBuilder</code> object as determined by 
     *          comparing the corresponding string obtained by
     *          calling the {@link StringBuilder#toString()} method.
     */
    public static boolean endsWith(StringBuilder sb, String suffix) {
        return startsWith(sb, suffix, sb.length() - suffix.length());
    }

    /**
     * Tests if this string starts with the specified prefix.
     *
     * @param prefix the prefix.
     * @return  <code>true</code> if the character sequence represented by the
     *          argument is a prefix of the character sequence represented by
     *          this string; <code>false</code> otherwise.
     *          Note also that <code>true</code> will be returned if the
     *          argument is an empty string or is equal to this
     *          <code>StringBuilder</code> object as determined by 
     *          comparing the corresponding string obtained by
     *          calling the {@link StringBuilder#toString()} method.
     */
    public static boolean startsWith(StringBuilder sb, String prefix) {
        return startsWith(sb, prefix, 0);
    }

    /**
     * Tests if the substring of the specified <tt>StringBuilder</tt> 
     * beginning at the specified index starts with the specified prefix.
     *
     * @param sb
     * @param prefix the prefix.
     * @param offset where to begin looking in this string.
     * @return  <code>true</code> if the character sequence represented by the
     *          argument is a prefix of the substring of this object starting
     *          at index <code>offset</code>; <code>false</code> otherwise.
     *          The result is <code>false</code> if <code>toffset</code> is
     *          negative or greater than the length of this
     *          <code>StringBuilder</code> object; otherwise the result 
     *          is the same as the result of the expression
     *          <pre>
     *          sb.substring(offset).startsWith(prefix)
     *          </pre>
     */
    public static boolean startsWith(StringBuilder sb, String prefix,
            int offset) {
        if (offset < 0 || sb.length() - offset < prefix.length())
            return false;

        int len = prefix.length();
        for (int i = 0; i < len; ++i) {
            if (sb.charAt(offset + i) != prefix.charAt(i))
                return false;
        }
        return true;
    }
}

Related Tutorials