Here you can find the source of endsWithIgnoreCase(final String text, final String suffix)
Parameter | Description |
---|---|
text | the string to test. |
suffix | the suffix. |
true
if the character sequence represented by the argument is a suffix of the character sequence represented by this object; false
otherwise. Note that the result will be true
if the suffix is the empty string or is equal to this String
object as determined by the method. If the text or suffix argument is null false
is returned.
public static boolean endsWithIgnoreCase(final String text, final String suffix)
//package com.java2s; /*//from w ww .jav a 2 s .c o m * JBoss, Home of Professional Open Source. * See the COPYRIGHT.txt file distributed with this work for information * regarding copyright ownership. Some portions may be licensed * to Red Hat, Inc. under one or more contributor license agreements. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA. */ public class Main { /** * Tests if the string ends with the specified suffix. * * @param text the string to test. * @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 * suffix is the empty string or is equal to this <code>String</code> object as determined by the * {@link #equals(Object)} method. If the text or suffix argument is null <code>false</code> is returned. */ public static boolean endsWithIgnoreCase(final String text, final String suffix) { if (isEmpty(text)) { return false; } if (suffix == null) { return false; } int textLength = text.length(); int suffixLength = suffix.length(); if (suffixLength == 0) { return true; } if (suffixLength > textLength) { return false; } int offset = textLength - suffixLength; char[] chArray = suffix.toCharArray(); for (int i = 0; i != chArray.length; ++i) { char ch1 = chArray[i]; char ch2 = text.charAt(offset + i); if (ch1 == ch2 || Character.toLowerCase(ch1) == Character.toLowerCase(ch2)) { // continue } else { return false; } } return true; } /** * <p> * Returns whether the specified text is either empty or null. * </p> * * @param text The text to check; may be null; * @return True if the specified text is either empty or null. * */ public static boolean isEmpty(final String text) { return (text == null || text.length() == 0); } }