Mega Code Archive

 
Categories / Java / File Input Output
 

Compare two byte[] for differences, either may be null

import java.util.Collection; import java.util.Iterator; /**********************************************************************************  * $URL: https://source.sakaiproject.org/svn/util/branches/sakai_2-5-4/util-util/util/src/java/org/sakaiproject/util/StringUtil.java $  * $Id: StringUtil.java 34934 2007-09-10 22:52:23Z lance@indiana.edu $  ***********************************************************************************  *  * Copyright (c) 2003, 2004, 2005, 2006 The Sakai Foundation.  *   * Licensed under the Educational Community License, Version 1.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.opensource.org/licenses/ecl1.php  *   * 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.  *  **********************************************************************************/ /**  * <p>  * StringUtil collects together some string utility classes.  * </p>  */ public class StringUtil {   /**    * Compare two byte[] for differences, either may be null    *     * @param a    *        One byte[].    * @param b    *        The other byte[].    * @return true if the byte[]s are different, false if they are the same.    */   public static boolean different(byte[] a, byte[] b)   {     // if both null, they are the same     if ((a == null) && (b == null)) return false;     // if either are null (they both are not), they are different     if ((a == null) || (b == null)) return true;     // if the lengths are different, they are different     if (a.length != b.length) return true;     // now we know neither are null, so compare, item for item (order counts)     for (int i = 0; i < a.length; i++)     {       if (a[i] != b[i]) return true;     }     // they are NOT different!     return false;   } }