(四)Java工具类ObjectUtils详解
2018-01-21 18:07
239 查看
ObjectUtils工具类会尝试优雅的处理null输入,对于空输入通常不会抛出异常,每个方法都更详细的记录其行为。
在标准的应用程序中ObjectUtils类不应该被实例化。
类方法详解
输出结果:
public static void identityToString(StringBuffer buffer, Object object)
public static void identityToString(StringBuilder builder, Object object)
public static int compare(T c1, T c2)
public static int compare(T c1,T c2,boolean nullGreater)
@SafeVarargs
public static T median(Comparator comparator, T… items)
@SafeVarargs
public static T median(T… items)
@SafeVarargs
public static T max(T… values)
@SafeVarargs
public static T min(T… values)
在标准的应用程序中ObjectUtils类不应该被实例化。
类方法详解
/** * 如果一个类没有重写toString方法本身,将会通过Object类的toString方法获取对象的字符串对象, */ String s1 = ObjectUtils.identityToString(null); String s2 = ObjectUtils.identityToString(""); String s3 = ObjectUtils.identityToString(Boolean.TRUE); System.out.println(s1); System.out.println(s2); System.out.println(s3);
输出结果:
null java.lang.String@73a80183 java.lang.Boolean@1afb7ac7
public static void identityToString(StringBuffer buffer, Object object)
/** * 累加对象产生的toString * 两个参数任意一个为null都会抛出空指针异常 * buffer-要追加的缓冲区 * object-要创建对象的toString */ StringBuffer buffer = new StringBuffer(); ObjectUtils.identityToString(buffer, ""); ObjectUtils.identityToString(buffer, Boolean.TRUE); ObjectUtils.identityToString(buffer, 12); System.out.println(buffer);这里写代码片
public static void identityToString(StringBuilder builder, Object object)
/** * 累加对象产生的toString,如果一个对象没有实现自己的toString方法将使用Object对象的toString * 两个参数任意一个为null都会抛出空指针异常 * builder-要追加的缓冲区 * object-要创建对象的toString */ StringBuffer builder = new StringBuffer(); ObjectUtils.identityToString(builder, ""); ObjectUtils.identityToString(builder, Boolean.FALSE);这里写代码片
/** * 这个方法返回不变的值,这可以阻止编译器javac重新编译 * 这种方法任何关联这个字段的jar包不需要重新编译,即使字段的值在将来改变 */ public final static int MAGIC_INT = ObjectUtils.CONST(12); public final static long MAGIC_LONG = ObjectUtils.CONST(123L); public final static float MAGIC_FLOAT = ObjectUtils.CONST(123.0f); public final static double MAGIC_DOUBLE = ObjectUtils.CONST(1.0); public final static String MAGIC_STR = ObjectUtils.CONST("asfd"); public final static char MAGIC_CHAR = ObjectUtils.CONST('a'); public final static byte MAGIC_BYTE = ObjectUtils.CONST((byte) 127); public final static boolean MAGIC_FLAG = ObjectUtils.CONST(true); //不能小于-128或者大于127 public final static byte MAGIC_BYTE1 = ObjectUtils.CONST_BYTE(127); //不能小于 -32768并且大于32767 public final static short MAGIC_SHORT = ObjectUtils.CONST_SHORT(32767); public final static short MAGIC_SHORT1 = ObjectUtils.CONST((short) 123);这里写代码片
public static int compare(T c1, T c2)
/** * 该方法是对NULL安全的比较方法,null是被假定为一个小于非空的值 * c1-第一个被比较的值,可能为null * c2-第二个被比较的值,可能为null */ int result = ObjectUtils.compare(12, null);这里写代码片
public static int compare(T c1,T c2,boolean nullGreater)
/** * 该方法是对NULL安全的比较方法,null是被假定为一个小于非空的值 * c1-第一个被比较的值,可能为null * c2-第二个被比较的值,可能为null * nullGreater-如果为true,null被认为是一个大于非空的值或者false,null被认为是小于非空的值 */ result = ObjectUtils.compare(null, 23, false);这里写代码片
@SafeVarargs
public static T median(Comparator comparator, T… items)
说明:找到中间值进行比较,如果总数有偶数,则返回中间值两个比较低的值; comparator-用来比较的比较器 items-被比较的值 Throws NullPointerException - 如果items或者comparator为null IllegalArgumentException - 如果items为空或者包含null值
@SafeVarargs
public static T median(T… items)
说明:找到中间值进行比较,如果总数有偶数,则返回中间值两个比较低的值; comparator-用来比较的比较器 items-被比较的值 Throws NullPointerException - 如果items或者comparator为null IllegalArgumentException - 如果items为空或者包含null值
@SafeVarargs
public static T max(T… values)
说明:可比性是null安全的比较; values-可比值集,可能为null; 返回值: 如果任何对象是非null和不相等的,则是最大的一个对象; 如果所有的对象是相等非空的,则取第一个; 如果有任何的可比性是空,非空对象的大; 如果所有的比较都是空的,则返回null;
@SafeVarargs
public static T min(T… values)
说明:可比性是null安全的比较; values-可比值集,可能为null; 返回值: 如果任何对象是非null和不相等的,则是最小的一个对象; 如果所有的对象是相等非空的,则取第一个; 如果有任何的可比性是空,非空对象的小; 如果所有的比较都是空的,则返回null;
相关文章推荐
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解
- (四)Java工具类ObjectUtils详解