/***************************************************************************** * Copyright (C) Codehaus.org * * ------------------------------------------------------------------------- * * 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. * *****************************************************************************/ package net.ion.rosetta.util; /** * Utility functions for any object. * * @author Ben Yu */ public final class Objects { /** Gets the has hcode for {@code obj}. 0 is returned if obj is null. */ public static int hashCode(Object obj) { return obj == null ? 0 : obj.hashCode(); } /** * Compares {@code o1} and {@code o2} for equality. Returns true if both are * {@code null} or {@code o1.equals(o2)}. */ public static boolean equals(Object o1, Object o2) { return o1 == null ? o2 == null : o1.equals(o2); } /** Checks whether {@code obj} is one of the elements of {@code array}. */ public static boolean in(Object obj, Object... array) { for (Object expected : array) { if (obj == expected) { return true; } } return false; } }