Java Byte Array Equal bytesEqual(final byte[] a, final byte[] b)

Here you can find the source of bytesEqual(final byte[] a, final byte[] b)

Description

True iff the two arrays compare as equal.

License

Open Source License

Parameter

Parameter Description
a A byte[].
b Another byte[].

Return

If the two arrays have the same reference (including null) or if they have the same data.

Declaration

final public static boolean bytesEqual(final byte[] a, final byte[] b) 

Method Source Code

//package com.java2s;
/**//  ww w .jav  a2 s .co m
    
Copyright (C) SYSTAP, LLC 2006-2007.  All rights reserved.
    
Contact:
 SYSTAP, LLC
 4501 Tower Road
 Greensboro, NC 27410
 licenses@bigdata.com
    
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
    
This program 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 General Public License for more details.
    
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

public class Main {
    /**
     * True iff the two arrays compare as equal. This is somewhat optimized in
     * that it tests the array lengths first, assumes that it is being used on
     * sorted data and therefore compares the last bytes first, and does not
     * convert the bytes to unsigned integers before testing for equality.
     * 
     * @param a
     *            A byte[].
     * @param b
     *            Another byte[].
     * 
     * @return If the two arrays have the same reference (including
     *         <code>null</code>) or if they have the same data.
     */
    final public static boolean bytesEqual(final byte[] a, final byte[] b) {

        if (a == b)
            return true;

        final int alen = a.length;

        final int blen = b.length;

        if (alen != blen)
            return false;

        int i = alen - 1;

        while (i >= 0) {

            if (a[i] != b[i])
                return false;

            i--;

        }

        // for (int i = 0; i < alen; i++) {
        //        
        // if( a[i] != b[i] ) return false;
        //
        // }

        return true;

    }
}

Related

  1. bytesEqual(byte[] a, int aFrom, int aLen, byte[] b, int bFrom, int bLen)
  2. bytesEqual(byte[] a, int aOff, byte[] b, int bOff, int len)
  3. bytesEqual(byte[] a1, byte[] a2)
  4. bytesEqual(byte[] a1, byte[] a2)
  5. bytesEqual(byte[] buf1, byte[] buf2, int off, int len)
  6. bytesEqual(final byte[] b1, final int j, final byte[] b2, final int k, final int len)
  7. bytesEqual(final byte[] source, final int offset, final byte[] target)