各种实用工具类,开发事半功倍

判断是否有一个相等的的,可以多种变种

   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 "";
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_28204635

你的打赏是我研究最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值