判断是否有一个相等的的,可以多种变种
public synchronized static boolean batchEquals(String search, String... source) {
for (String str : source) {
if (search.equals(str)) {
return true;
}
}
return false;
}
组合成下划线key的。
public synchronized static String getKey(String... str) {
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < str.length; ) {
stringBuffer.append(str[i]);
i++;
if (str.length > i) {
stringBuffer.append("_");
}
}
return stringBuffer.toString();
}
UUID
public synchronized static String getNextStrId() {
UUID uuid = UUID.randomUUID();
String id = uuid.toString().replaceAll("-", "");
return id;
}
加减乘除,保留小数位
**
* 保留scale位小数
* @param value BigDecimal
* @param scale int
* @return String
*/
public static String formatBigDecimal(BigDecimal value,int scale) {
value = value.setScale(scale,BigDecimal.ROUND_HALF_UP);
return value.toString();
}
/**
*保留scale位小数
* @param value value
* @param scale scale
* @return String
*/
public static String formatString(String value, int scale) {
BigDecimal b = new BigDecimal(value);
b = b.setScale(scale, BigDecimal.ROUND_HALF_UP);
return b.toString();
}
/**
* 保留scale位小数
* @param value double
* @param scale int
* @return String
*/
public static String formatDouble(double value,int scale) {
BigDecimal b = new BigDecimal(value);
b = b.setScale(scale,BigDecimal.ROUND_HALF_UP);
return b.toString();
}
/**
* 整数时间补零
* @param value
* @return String
*/
public static String fillZero(int value) {
if (value < 10) {
return "0" + value;
}
return String.valueOf(value);
}
/**
* 乘
* @return
*/
public static String multiply(String v1,String v2){
BigDecimal value1 = new BigDecimal(v1);
BigDecimal value2 = new BigDecimal(v2);
return value1.multiply(value2).toString();
}
/**
* 除法 保留4未
*
* @return
*/
public static String divide(String v1, String v2) {
BigDecimal value1 = new BigDecimal(v1);
BigDecimal value2 = new BigDecimal(v2);
return value1.divide(value2, 4, BigDecimal.ROUND_HALF_UP).toString();
}
/**
* 绝对值
*
* @return
*/
public static String abs(String v1) {
BigDecimal value1 = new BigDecimal(v1);
return value1.abs().toString();
}
/**
* 加法
*
* @return
*/
public static String add(String v1, String v2) {
BigDecimal value1 = new BigDecimal(v1);
BigDecimal value2 = new BigDecimal(v2);
return value1.add(value2).toString();
}
/**
* 加法
*
* @return
*/
public static String addScale(String v1, String v2,int scale) {
return formatString(add(v1,v2),scale);
}
/**
* 减法
*
* @return
*/
public static String subtract(String v1, String v2,int scale) {
BigDecimal value1 = new BigDecimal(v1);
BigDecimal value2 = new BigDecimal(v2);
return formatString(value1.subtract(value2).toString(),scale);
}
/**
* 乘
* @return
*/
public static String multiply(String v1,String v2,int scale){
BigDecimal value1 = new BigDecimal(v1);
BigDecimal value2 = new BigDecimal(v2);
return formatString(value1.multiply(value2).toString(),scale);
}
时间转换工具类
private static String DefaultPattern = "yyyy-MM-dd HH:mm:ss";
private final static String[] ALL_FORMAT = {"yyyyMMddHHmmss", "yyyyMMddHHmm", "yyyyMMddHH", "yyyyMMdd", "yyyyMMddHHmmss.SSS", "yyyyMMddHHmmss.S"};
/**
* Date转为指定格式的字符时间
*
* @param date
* @param pattern
* @return String
*/
public static String format(Date date, String pattern) {
SimpleDateFormat format = getSimpleDateFormat(pattern);
String string = format.format(date);
return string;
}
public static String format(long mills, String pattern) {
Date date = new Date(mills);
return format(date, pattern);
}
/**
* 毫秒时间转为Timestamp
*
* @param timeMillis
* @return Timestamp
*/
public static Timestamp parseTimestamp(long timeMillis) {
Timestamp timestamp = new Timestamp(timeMillis);
return timestamp;
}
/**
* 字符时间戳转为Timestamp
*
* @param time
* @param pattern
* @return Timestamp
*/
public static Timestamp parseTimestamp(String time, String pattern) throws Exception {
Date date = parse(time, pattern);
return parseTimestamp(date.getTime());
}
/**
* 字符时间转为Date
*
* @param time
* @param pattern
* @return
* @throws Exception
*/
public static Date parse(String time, String pattern) throws Exception {
SimpleDateFormat format = getSimpleDateFormat(pattern);
Date date = format.parse(time);
return date;
}
public static SimpleDateFormat getSimpleDateFormat(String pattern) {
SimpleDateFormat format = null;
if (pattern == null) {
format = new SimpleDateFormat(DefaultPattern);
} else {
format = new SimpleDateFormat(pattern);
}
return format;
}
public static String getFirstDayOfMonth(long mills, String pattern) {
Date date = new Date(mills);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//获取某月最小天数
int firstDay = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
//设置日历中月份的最小天数
calendar.set(Calendar.DAY_OF_MONTH, firstDay);
SimpleDateFormat format = getSimpleDateFormat(pattern);
String firstDayOfMonth = format.format(calendar.getTime());
return firstDayOfMonth;
}
public static String getLastDayOfMonth(long mills, String pattern) {
Date date = new Date(mills);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//获取某月最大天数
int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
//设置日历中月份的最大天数
calendar.set(Calendar.DAY_OF_MONTH, lastDay);
SimpleDateFormat format = getSimpleDateFormat(pattern);
String lastDayOfMonth = format.format(calendar.getTime());
return lastDayOfMonth;
}
public static long getTime(Object time) {
if (null == time) {
throw new RuntimeException("time is null");
}
if (time instanceof String) {
String t = (String) time;
t = t.replace("/", "").replace("-", "").replace(":", "").replace(" ", "");
for (String format : ALL_FORMAT) {
if (format.length() == t.length()) {
SimpleDateFormat sf = new SimpleDateFormat(format);
try {
return sf.parse(t).getTime();
} catch (ParseException e) {
throw new RuntimeException("time parse error!");
}
}
}
}
throw new RuntimeException("error time format");
}
public static String getZeroPoint(String formart) {
if (formart.length() == 19) {
return formart.substring(0, 10) + " 00:00:00";
}
return "";
}