Java String Last Index Of lastIndexOf(CharSequence haystack, char needle)

Here you can find the source of lastIndexOf(CharSequence haystack, char needle)

Description

Replacement for StringBuilder.lastIndexOf() which does a lot of object creation and copying to achieve this.

License

Apache License

Parameter

Parameter Description
haystack the string to search in
needle the character to look for

Return

-1 if c was not found, the position of c in s otherwise

Declaration

public static int lastIndexOf(CharSequence haystack, char needle) 

Method Source Code

//package com.java2s;
/*//from  w w w  .j  a v  a 2s. com
 * StringUtil.java
 *
 * This file is part of SQL Workbench/J, http://www.sql-workbench.net
 *
 * Copyright 2002-2017, Thomas Kellerer
 *
 * Licensed under a modified Apache License, Version 2.0
 * that restricts the use for certain governments.
 * You may not use this file except in compliance with the License.
 * You may obtain a copy of the License at.
 *
 *     http://sql-workbench.net/manual/license.html
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * To contact the author please send an email to: support@sql-workbench.net
 *
 */

public class Main {
    /**
     * Replacement for StringBuilder.lastIndexOf() which does
     * a lot of object creation and copying to achieve this.
     *
     * This implementation should be a lot faster for StringBuilder
     * and StringBuffer, and will basically be the same for String
     * objects.
     *
     * @param haystack the string to search in
     * @param needle the character to look for
     * @return -1 if c was not found, the position of c in s otherwise
     */
    public static int lastIndexOf(CharSequence haystack, char needle) {
        int len = haystack.length();
        if (haystack == null || len == 0)
            return -1;

        for (int i = (len - 1); i > 0; i--) {
            if (haystack.charAt(i) == needle)
                return i;
        }
        return -1;
    }
}

Related

  1. lastIndexOf(char ch, String str)
  2. lastIndexof(char chr, int pos, CharSequence str)
  3. lastIndexOf(CharSequence chars, String searched)
  4. lastIndexOf(CharSequence charSeq, char ch)
  5. lastIndexOf(CharSequence cs, int searchChar, int start)
  6. lastIndexOf(CharSequence s, char c, int start, int end)
  7. lastIndexOf(CharSequence s, CharSequence seq)
  8. lastIndexOf(CharSequence theChars, CharSequence theSearch)
  9. lastIndexOf(final CharSequence cs, final CharSequence searchChar, final int start)