Here you can find the source of toLong(boolean... a)
Parameter | Description |
---|---|
a | a parameter |
public static long toLong(boolean... a)
//package com.java2s; /*// w ww . j a v a 2s.com * * Copyright 2013 Netflix, Inc. * * 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 { /** * Packs boolean array to integer, the booleans with greater indices go * first * * @param a * @return */ public static long toLong(boolean... a) { if (a.length >= 64) { throw new IllegalArgumentException( "while packing boolean array in int, the array length should be less than 32"); } int n = 0; for (int i = (a.length - 1); i >= 0; --i) { n = (n << 1) | (a[i] ? 1 : 0); } return n; } }