Here you can find the source of toBuffer(boolean[] src, int offset)
static ByteBuffer toBuffer(boolean[] src, int offset)
//package com.java2s; /******************************************************************************* * Copyright 2011 See AUTHORS file.// ww w. j a v a2 s . c o m * * 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. ******************************************************************************/ import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; import java.nio.IntBuffer; public class Main { static private ByteBuffer buffer = ByteBuffer.allocateDirect(8 * 4) .order(ByteOrder.nativeOrder()); static private IntBuffer bufferInt = buffer.asIntBuffer(); static private FloatBuffer bufferFloat = buffer.asFloatBuffer(); static ByteBuffer toBuffer(boolean[] src, int offset) { int n = src.length - offset; ensureSize(n); buffer.position(0); for (boolean value : src) buffer.put(value ? (byte) 1 : 0); return buffer; } static IntBuffer toBuffer(int[] src, int offset) { int n = src.length - offset; ensureSize(n * 4); bufferInt.position(0); bufferInt.put(src, offset, n); return bufferInt; } static FloatBuffer toBuffer(float[] src, int offset) { int n = src.length - offset; ensureSize(n * 4); bufferFloat.position(0); bufferFloat.put(src, offset, n); return bufferFloat; } static private void ensureSize(int n) { if (buffer.capacity() < n) { buffer = ByteBuffer.allocateDirect(n).order( ByteOrder.nativeOrder()); bufferInt = buffer.asIntBuffer(); bufferFloat = buffer.asFloatBuffer(); } } }