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

net.anotheria.util.BasicComparable Maven / Gradle / Ivy

There is a newer version: 4.0.0
Show newest version
package net.anotheria.util;

import net.anotheria.util.sorter.IComparable;

import java.util.Collection;

/**
 * An abstract class which implements useful methods to compare basic types.
 *
 * @author another
 * @version $Id: $Id
 */
public abstract class BasicComparable implements IComparable{
	
	/**
	 * Compares two ints.
	 *
	 * @param a first int to compare.
	 * @param b second int to compare.
	 * @return 0 if a==b, -1 if a<b or +1 if a>b.
	 */
	public static final int compareInt(int a, int b){
		return a < b ? 
			-1 : a == b ? 
			0 : 1;						
	}

	/**
	 * Compares two longs.
	 *
	 * @param a first long to compare.
	 * @param b second long to compare.
	 * @return 0 if a==b, -1 if a<b or +1 if a>b.
	 */
	public static final int compareLong(long a, long b){
		return a < b ? 
			-1 : a == b ? 
			0 : 1;						
	}
	
	/**
	 * 

compareBool.

* * @deprecated use compareBoolean instead. * @param a a boolean. * @param b a boolean. * @return a int. */ @Deprecated public static final int compareBool(boolean a, boolean b){ return compareBoolean(a,b); } /** * Compares two booleans. * * @param a first boolean to compare. * @param b second boolean to compare. * @return 0 if a==b, -1 if a & !b or +1 if !a & b. */ public static final int compareBoolean(boolean a, boolean b){ return a==b ? 0 : a && !b ? -1 : 1; } /** * Compares two floats. * * @param a first float to compare. * @param b second float to compare. * @return 0 if a==b, -1 if a<b or +1 if a>b. */ public static final int compareFloat(float a, float b){ return Float.compare(a, b); } /** * Compares two doubles. * * @param a first double to compare. * @param b second double to compare. * @return 0 if a==b, -1 if a<b or +1 if a>b. */ public static final int compareDouble(double a, double b){ return Double.compare(a, b); } /** * Compares two strings. * * @param a first String to compare. * @param b second String to compare. * @return a negative integer, zero, or a positive integer as the * the second specified String is greater than, equal to, or less * than first String, ignoring case considerations. */ public static final int compareString(String a, String b){ return a == null ? (b == null ? 0 : -1) : (b == null ? 1 : a.compareToIgnoreCase(b)); } /** * Compares two List. * * @param a first List to compare. * @param b second List to compare. * @return 0 if a.size==b.size, -1 if a.size<b.size or +1 if a.size>b.size. * @param a T object. */ public static final int compareList(Collection a, Collection b){ return a == null ? (b == null ? 0 : -1 ) : (b == null ? 1 : compareInt(a.size(), b.size())); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy