Here you can find the source of toBooleanValue(Object val)
Parameter | Description |
---|---|
val | a boolean value as a Boolean object, String or number |
public static boolean toBooleanValue(Object val)
//package com.java2s; /*/* ww w. j a va 2 s.c om*/ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code 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 * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores * CA 94065 USA or visit www.oracle.com if you need additional information or * have any questions. */ public class Main { /** * Returns true or false based on a "soft" object * @param val a boolean value as a Boolean object, String or number * @return true or false */ public static boolean toBooleanValue(Object val) { if (val == null) { return false; } if (val instanceof Boolean) { return ((Boolean) val).booleanValue(); } if (val instanceof String) { String sl = ((String) val).toLowerCase(); return sl.startsWith("t") || sl.equals("1"); } return toIntValue(val) != 0; } /** * Returns the number object as an int * @param number this can be a String or any number type * @return an int value or an exception */ public static int toIntValue(Object number) { if (number == null) { return 0; } // we should convert this to use Number if (number instanceof Integer) { return ((Integer) number).intValue(); } if (number instanceof String) { String n = (String) number; if (n.length() == 0 || n.equals(" ")) { return 0; } return Integer.parseInt(n); } if (number instanceof Double) { return ((Double) number).intValue(); } if (number instanceof Float) { return ((Float) number).intValue(); } if (number instanceof Long) { return ((Long) number).intValue(); } /*if(number instanceof Short) { return ((Short)number).intValue(); } if(number instanceof Byte) { return ((Byte)number).intValue(); }*/ if (number instanceof Boolean) { Boolean b = (Boolean) number; if (b.booleanValue()) { return 1; } return 0; } throw new IllegalArgumentException("Not a number: " + number); } }