Generate a faster string comparison than String.equals() for web mode code.
/*
* Copyright 2009 Sysmap Solutions Software e Consultoria Ltda.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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.
*/
/**
* @author Gesse S. F. Dafe
* @author Thiago da Rosa de Bustamante -
*/
import com.google.gwt.core.client.GWT;
public class Util{
/**
* This method generates a faster string comparison than {@code String.equals()}
* for web mode code.
*
* The GWT generated {@code String.equals()} method makes a check in its parameter's type in runtime.
* That method makes that assertion on compilation time (once its parameters are both
* Strings).
*
* @param a
* @param b
* @return
*/
public static boolean equals(String a, String b)
{
if (GWT.isScript())
{
if (a==null) return (b==null);
return (b!= null && a==b);
}
else
{
if (a==null) return (b==null);
return (b!= null && a.equals(b));
}
}
}
Related examples in the same category