package com.demo.lib.common.util.common;
/**
* Object Utils
*
* @author LCJIAN
*/
public class ObjectUtils {
/**
* compare two object
*
* @param actual
* @param expected
* @return
* - if both are null, return true
* - return actual.{@link Object#equals(Object)}
*
*/
public static boolean isEquals(Object actual, Object expected) {
return actual == expected || (actual == null ? expected == null : actual.equals(expected));
}
/**
* compare two object
*
* About result
* - if v1 > v2, return 1
* - if v1 = v2, return 0
* - if v1 < v2, return -1
*
*
* About rule
* - if v1 is null, v2 is null, then return 0
* - if v1 is null, v2 is not null, then return -1
* - if v1 is not null, v2 is null, then return 1
* - return v1.{@link Comparable#compareTo(Object)}
*
*
* @param v1
* @param v2
* @return
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
public static int compare(V v1, V v2) {
return v1 == null ? (v2 == null ? 0 : -1) : (v2 == null ? 1 : ((Comparable) v1).compareTo(v2));
}
}