All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mingri.langhuan.cabinet.tool.MyComparable Maven / Gradle / Ivy

package com.mingri.langhuan.cabinet.tool;

import com.mingri.langhuan.cabinet.constant.ComparaResultEnum;

/**
 * 可以实现对比的类
 * 
 * @author ljl
 *
 * @param   真正要对比类
 */
public class MyComparable {
	private Comparable instance;

	private MyComparable(Comparable instance) {
		this.instance = instance;
	}

	public static  MyComparable creat(Comparable instance) {
		return new MyComparable<>(instance);
	}

	/**
	 * 是否大于等于
	 * @param o 要对比的目标对象
	 * @return true:大于且等于
	 */
	public boolean isGtEq(T o) {
		return this.compareTo(o).isGtEq();
	}

	/**
	 * 是否大于
	 * @param o 要对比的目标对象
	 * @return 对比结果
	 */
	public boolean isGt(T o) {
		return this.compareTo(o).isGt();
	}

	/**
	 * 是否小于等于
	 * @param o 要对比的目标对象
	 * @return 对比结果
	 */
	public boolean isLtEq(T o) {
		return this.compareTo(o).isLtEq();
	}

	/**
	 * 是否相等
	 * @param o 要对比的目标对象
	 * @return 对比结果
	 */
	public boolean isEq(T o) {
		return this.compareTo(o).isEq();
	}

	/**
	 * 进行对比
	 * @param o 要对比的目标对象
	 * @return 对比结果枚举
	 */
	private ComparaResultEnum compareTo(T o) {
		int result = this.instance.compareTo(o);
		if (result > 0) {
			return ComparaResultEnum.GT;
		}
		if (result < 0) {
			return ComparaResultEnum.LT;
		}
		return ComparaResultEnum.EQ;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy