package com.sohu.cache.util;
/**
* Integer 工具类
*
* @author 银时:yinshi.nc / yinshi.nc@taobao.com
* @Date Jan 13, 2012
*/
public class IntegerUtil {
/**
* 如果为0,则返回默认值
*
* @param originalInt
* @param defaultInt
* 默认Integer
* @return
*/
public static Integer defaultIfZero( Integer originalInt, Integer defaultInt ) {
if ( 0 == originalInt ) {
return defaultInt;
}
return originalInt;
}
/**
* 如果为0,则返回默认值
*
* @param originalInt
* @param defaultInt
* 默认Integer
* @return
*/
public static Integer defaultIfError( String originalStr, Integer defaultInt ) {
try {
return Integer.parseInt( StringUtil.trimToEmpty( originalStr ) );
} catch ( Exception e ) {
return defaultInt;
}
}
/**
* 如果是一个不合法的整型,那么返回一个默认值
*
* @param originalInt
* @param defaultInt
* 默认Integer
* @return
*/
public static Integer defaultIfError( Integer originalStr, Integer defaultInt ) {
try {
return Integer.valueOf( originalStr );
} catch ( Exception e ) {
return defaultInt;
}
}
/**
* 如果非正,则返回默认值<br>
* @param originalInt
* @param defaultInt
* 默认Integer
* @return originalInt if originalInt>0, return defaultInt if originalInt<=0
*/
public static Integer defaultIfSmallerThan0( Integer originalInt, Integer defaultInt ) {
if ( 0 >= originalInt ) {
return defaultInt;
}
return originalInt;
}
/** 将String 转化成 Integer,如果小于等于0,将抛异常 */
public static Integer exceptionIfSmallerThan0( String originalStr )throws Exception{
try {
int num = Integer.parseInt( StringUtil.trimToEmpty( originalStr ) );
if( num > 0 )
return num;
else
throw new Exception();
} catch ( Exception e ) {
throw new Exception( originalStr + " is smaller than 0, or it is a invalid parameter " );
}
}
/**
* 判断是否大余0
* @return false if num <=0 , true if num >0
*/
public static boolean isBiggerThan0( int num ){
if( 0>= num )
return false;
return true;
}
/**
* Return maxInt if too big, else return original.
*
* @param originalInt
* @param maxInt
* max int
* @return
*/
public static Integer maxIfTooBig( Integer originalInt, Integer maxInt ) {
if ( originalInt >= maxInt ) {
originalInt = maxInt;
}
return originalInt;
}
}