package org.dayatang.utils; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import java.io.Serializable; /** * 整数范围类。包括左右边界值。 * @author yyang (<a href="mailto:gdyangyu@gmail.com">gdyangyu@gmail.com</a>) * */ public class IntRange implements Serializable{ /** * */ private static final long serialVersionUID = 8864945948923971061L; private int min; private int max; /** * @param min 下限 * @param max 上限 */ public IntRange(int min, int max) { super(); this.min = min; this.max = max; } public int getMin() { return min; } public int getMax() { return max; } public boolean contains(int number) { return number >= min && number <= max; } @Override public int hashCode() { return new HashCodeBuilder().append(min).append(max).toHashCode(); } @Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof IntRange)) { return false; } IntRange that = (IntRange) other; return new EqualsBuilder().append(this.getMin(), that.getMin()) .append(this.getMax(), that.getMax()) .isEquals(); } @Override public String toString() { return "[" + min + " - " + max + "]"; } }