/* Copyright (c) 2001-2010, The HSQL Development Group
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* Neither the name of the HSQL Development Group nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
//package com.nowjava;
/**来自
时代Java公众号 - N o w J a v a . c o m**/
public class Main {
public static void main(String[] argv) throws Exception {
byte[] arra = new byte[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 };
int start = 2;
byte[] arrb = new byte[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 };
System.out.println(containsAt(arra, start, arrb));
}
/**
* Returns true if arra from position start contains all elements of arrb
* in sequential order.
*/
public static boolean containsAt(byte[] arra, int start, byte[] arrb) {
return countSameElements(arra, start, arrb) == arrb.length;
}
/**
* Returns true if arra from position start contains all elements of arrb
* in sequential order.
*/
public static boolean containsAt(char[] arra, int start, char[] arrb) {
return countSameElements(arra, start, arrb) == arrb.length;/** 来自 n o w j a v a . c o m - 时 代 Java**/
}
/**
* Returns the count of elements in arra from position start that are
* sequentially equal to the elements of arrb.
*/
public static int countSameElements(byte[] arra, int start, byte[] arrb) {
int k = 0;
int limit = arra.length - start;
if (limit > arrb.length) {
limit = arrb.length;
}
for (int i = 0; i < limit; i++) {
if (arra[i + start] == arrb[i]) {
k++;
} else {
break;
}
}
return k;
}
/**
/**代码未完, 请加载全部代码(NowJava.com).**/
本文系作者在时代Java发表,未经许可,不得转载。如有侵权,请联系nowjava@qq.com删除。