Java Byte Array Compare memcmp(byte[] a, int aoff, int alen, byte[] b, int boff, int blen)

Here you can find the source of memcmp(byte[] a, int aoff, int alen, byte[] b, int boff, int blen)

Description

memcmp

License

Apache License

Declaration

public static int memcmp(byte[] a, int aoff, int alen, byte[] b, int boff, int blen) 

Method Source Code

//package com.java2s;
/*//from  ww w  .  jav  a  2  s  . c  o  m
 * Copyright 2012 Andy Boothe
 *
 *   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.
 */

public class Main {
    public static int memcmp(byte[] a, byte[] b) {
        return memcmp(a, 0, a.length, b, 0, b.length);
    }

    public static int memcmp(byte[] a, int aoff, int alen, byte[] b, int boff, int blen) {
        int result;
        if (alen < blen)
            result = -1;
        else if (alen > blen)
            result = 1;
        else
            result = 0;

        int length = Math.min(alen, blen);
        for (int i = 0; i < length; i++)
            if (a[aoff + i] < b[boff + i]) {
                result = -1;
                break;
            } else if (a[aoff + i] > b[boff + i]) {
                result = 1;
                break;
            }

        return result;
    }
}

Related

  1. bytesCompare(byte[] a, byte[] b)
  2. bytesCompare(byte[] bytes1, byte[] bytes2)
  3. memcmp(byte a[], int a_off, byte b[], int b_off, int len)
  4. memcmp(byte[] a, byte[] b)
  5. memcmp(byte[] a, int a_offset, byte[] b, int b_offset, int length)
  6. memcmp(byte[] bytes, byte[] bytes2, int nbElem)
  7. memcmp(byte[] s1, int s1Size, int s1offset, byte[] s2, int s2Size, int s2offset)
  8. memcmp(final byte[] a, final byte[] b, int length)
  9. memcmp(final byte[] first, final int firstStart, final byte[] second, final int secondStart, int size)