工具类总结

本文介绍了四个Java实用工具类:1. ProcessInPageUtils用于处理分页查询,支持双循环;2. DESUtil提供了DES加密解密功能,包括盐值生成;3. DateUtils包含日期时间操作,如格式转换、日期加减等;4. ModelConvertUtils实现了对象间的属性转换。这些工具类简化了日常开发中的常见任务。
摘要由CSDN通过智能技术生成

1、双循环查询

public class ProcessInPageUtils {
    private ProcessInPageUtils() {

    }

    public static <T> void doInPage(int pageSize, QueryListCallBack<T> queryListCallBack,
                                    Processor<T> processor) {
        int currentPage = 1;
        List<T> ts = queryListCallBack.queryList(currentPage, pageSize);
        while (ts != null && !ts.isEmpty()) {
            ts.forEach(processor::process);
            currentPage++;
            ts = queryListCallBack.queryList(currentPage, pageSize);
        }
    }

    public interface QueryListCallBack<T> {
        List<T> queryList(int currentPage, int pageSize);
    }

    public interface Processor<T>{
        void process(T t);
    }
}


//使用方法 适用于双循环的查询
        ProcessInPageUtils.doInPage(PAGE_SIZE,
            (curPage, pageSize) -> this.productItemRepository.selectByBrandId(brandId, curPage, pageSize),
            attributeDO -> replenishmentManager.replenishCalculated(attributeDO.getItemCode(), dateStr, channelId, brandId));

2、DESUtils

package com.hema.cloud.util;

import java.security.Key;
import java.util.Base64;
import java.util.Random;

import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;

import lombok.extern.slf4j.Slf4j;

/**
 * @Author lh
 * @Date 2020/4/1
 * @Description
 */
@Slf4j
public class DESUtil {

    /**
     * 偏移变量,固定占8位字节
     */
    private final static String IV_PARAMETER = "12345678";
    /**
     * 密钥算法
     */
    private static final String ALGORITHM = "DES";
    /**
     * 加密/解密算法-工作模式-填充模式
     */
    private static final String CIPHER_ALGORITHM = "DES/CBC/PKCS5Padding";
    /**
     * 默认编码
     */
    private static final String CHARSET = "utf-8";

    /**
     * 盐值长度
     */
    private static final Integer SALT_LENGTH = 6;

    /**
     * 0-9、a~z和A~Z的随机数
     */
    public static final String allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

    /**
     * DES加密字符串
     *
     * @param password 加密密码,长度不能够小于8位
     * @param data     待加密字符串
     * @return 加密后内容
     */
    public static String encrypt(String password, String data) {
        if (password == null || password.length() < 8) {
            throw new RuntimeException("加密失败,key不能小于8位");
        }
        if (data == null) {
            return null;
        }
        try {
            Key secretKey = generateKey(password);
            Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
            IvParameterSpec iv = new IvParameterSpec(IV_PARAMETER.getBytes(CHARSET));
            cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
            byte[] bytes = cipher.doFinal(data.getBytes(CHARSET));

            //JDK1.8及以上可直接使用Base64,JDK1.7及以下可以使用BASE64Encoder
            //Android平台可以使用android.util.Base64
            return new String(Base64.getEncoder().encode(bytes));

        } catch (Exception e) {
            return null;
        }
    }

    /**
     * DES解密字符串
     *
     * @param password r
     * @param data     待解密字符串
     * @return 解密后内容
     */
    public static String decrypt(String password, String data) {
        if (password == null || password.length() < 8) {
            throw new RuntimeException("加密失败,key不能小于8位");
        }
        if (data == null) {
            return null;
        }
        try {
            Key secretKey = generateKey(password);
            Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
            IvParameterSpec iv = new IvParameterSpec(IV_PARAMETER.getBytes(CHARSET));
            cipher.init(Cipher.DECRYPT_MODE, secretKey, iv);
            return new String(cipher.doFinal(Base64.getDecoder().decode(data.getBytes(CHARSET))), CHARSET);
        } catch (Exception e) {
            return null;
        }
    }

    /**
     * 生成key
     *
     * @param password
     * @return
     * @throws Exception
     */
    private static Key generateKey(String password) throws Exception {
        DESKeySpec dks = new DESKeySpec(password.getBytes(CHARSET));
        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM);
        return keyFactory.generateSecret(dks);
    }

    /**
     * 生成盐值,纯字符
     *
     * @return
     */
    public static String generateSalt() {
        StringBuilder code = new StringBuilder();
        Random random = new Random();
        for (int i = 0; i < SALT_LENGTH; i++) {
            code.append((char) ('a' + random.nextInt(26)));
        }
        return code.toString();
    }

    public static String generateRandomKey(int length){
        StringBuilder code = new StringBuilder();
        Random random = new Random();
        for (int i = 0; i < length; i++) {
            code.append(allChar.charAt(random.nextInt(allChar.length())));
        }
        return code.toString();
    }
}



在config中配置前段和后段的加解秘key

    /**
     * 账户密码后端DES加解密的key
     */
    String PASSWORD_DES_PROVIDER_KEY = "lfdnas13io";

    /**
     * 账户密码前端DES加解密的key
     */
    String PASSWORD_DES_CLIENT_KEY = "lwqinyw887";



  // 解密处理逻辑
        String decryptedPwd = DESUtil.decrypt(PASSWORD_DES_CLIENT_KEY, request.getPassword());
        assertPasswordValid(decryptedPwd);
        request.setPassword(decryptedPwd);
//加密处理逻辑
    String salt = DESUtil.generateSalt();
            accountDO.setSalt(salt);
            accountDO.setPassword(encryptPassword(accountDto.getPassword(), salt));

   public static String encryptPassword(String password, String salt) {
        return DESUtil.encrypt(PASSWORD_DES_PROVIDER_KEY, password + CommonConstant.SEPARATE + salt);
    }

3、DateUtils

package com.hema.cloud.util;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.tuple.Pair;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.TimeUnit;

@Slf4j
public class DateUtil {
    public static final String DEFAULTDATEPATTERN = "yyyy-MM-dd HH:mm:ss";
    public static final String DATEPATTERN_YYYY_MM_DD = "yyyy-MM-dd";
    public static final String DATEPATTERN_YYYY_MM_DD_HH = "yyyy-MM-dd HH";

    public static final String DATEPATTERN_YYYY_MM = "yyyy-MM";
    public static final String DATEPATTERN_YYYYMMDD = "yyyyMMdd";
    public static final String DATEPATTERN_YYYYMM = "yyyyMM";

    /**
     * 一天的秒数
     */
    public static final Integer ONE_DAY_SECONDS = 60 * 60 * 24;

    /**
     * 24小时毫秒值
     */
    public static final long H24 = TimeUnit.HOURS.toMillis(24);
    /**
     * 1小时毫秒值
     */
    public static final long H1 = TimeUnit.HOURS.toMillis(1);

    public static Date parse(String string, String pattern) throws ParseException {
        SimpleDateFormat format = new SimpleDateFormat(pattern);
        return format.parse(string);
    }

    public static Date parse2(String string, String pattern){
        try {
            SimpleDateFormat format = new SimpleDateFormat(pattern);
            return format.parse(string);
        }catch (Exception e){
            log.error("date parse error. param1{}, param2:{}", string, pattern, e);
        }
        return null;
    }

    public static Date getDayEnd(Date day){
        String format = new SimpleDateFormat(DATEPATTERN_YYYY_MM_DD)
                .format(day);
        return parse2( format + " 23:59:59", DEFAULTDATEPATTERN);
    }

    public static Date getDayStart(Date day){
        String format = new SimpleDateFormat(DATEPATTERN_YYYY_MM_DD)
                .format(day);
        return parse2( format + " 00:00:00", DEFAULTDATEPATTERN);
    }

    public static Date getYesterdayEnd(Date day){
        Calendar instance = Calendar.getInstance();
        instance.setTime(day);
        instance.add(Calendar.HOUR, -24);
        return getDayEnd(instance.getTime());
    }

    /**
     * 返回自定义格式字符串
     */
    public static String dateToString(Date date, String pattern) {
        SimpleDateFormat formatter = new SimpleDateFormat(pattern);
        return formatter.format(date);
    }

    public static Date increaseDate(Date aDate, int days) {
        Calendar cal = Calendar.getInstance();

        cal.setTime(aDate);
        cal.add(Calendar.DAY_OF_MONTH, days);
        return cal.getTime();
    }

    /**
     * Date 转换成 LocalDate
     *
     * @param date
     * @return
     */
    public static LocalDate date2LocalDate(Date date) {
        Instant instant = date.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();
        LocalDate localDate = instant.atZone(zoneId).toLocalDate();
        return localDate;
    }

    /**
     * LocalDate 转换成 Date
     *
     * @param localDate
     * @return
     */
    public static Date localDate2Date(LocalDate localDate) {
        ZoneId zoneId = ZoneId.systemDefault();
        ZonedDateTime zdt = localDate.atStartOfDay(zoneId);
        Date date = Date.from(zdt.toInstant());
        return date;
    }

    /**
     * localDateTime 转换成 Date
     *
     * @param localDateTime
     * @return
     */
    public static Date localDateTime2Date(LocalDateTime localDateTime) {
        ZoneId zoneId = ZoneId.systemDefault();
        ZonedDateTime zdt = localDateTime.atZone(zoneId);
        Date date = Date.from(zdt.toInstant());
        return date;
    }

    /**
     * Date 转换成 LocalDateTime
     *
     * @param date
     */
    public static LocalDateTime date2LocalDateTime(Date date) {
        Instant instant = date.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();
        LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
        return localDateTime;
    }

    /**
     * 获取指定时间当天的0点
     *
     * @return
     */
    public static LocalDateTime getFirstSecond(LocalDate localDate) {
        return LocalDateTime.of(localDate, LocalDateTime.MIN.toLocalTime());
    }

    /**
     * 获取指定时间当天的最后一秒
     *
     * @return
     */
    public static LocalDateTime getLastSecond(LocalDate localDate) {
        return LocalDateTime.of(localDate, LocalDateTime.MAX.toLocalTime());
    }

    /**
     * 计算当前时间几小时之后的时间
     *
     * @param date  日期信息
     * @param hours 小时信息
     * @return 日期格式信息
     */
    public static Date addHours(Date date, long hours) {
        return addMinutes(date, hours * 60);
    }

    /**
     * 计算当前时间几分钟之后的时间
     *
     * @param date    日期信息
     * @param minutes 分钟信息
     * @return 日期信息
     */
    public static Date addMinutes(Date date, long minutes) {
        return addSeconds(date, minutes * 60);
    }

    /**
     * 计算当前时间几秒钟之后的时间
     *
     * @param date 日期信息
     * @param secs 秒信息
     * @return 日期信息
     */

    public static Date addSeconds(Date date, long secs) {
        return new Date(date.getTime() + (secs * 1000));
    }


    /**
     * 拿到明天0点的时间
     * @return
     */
    public static Date getTomorrow() {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.add(Calendar.DAY_OF_YEAR, 1);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        return calendar.getTime();
    }


    /**
     * 获取一周中的周一
     * @param date
     * @return
     */
    public static Date getThisWeekMonday(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        // 获得当前日期是一个星期的第几天
        int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
        if (1 == dayWeek) {
            cal.add(Calendar.DAY_OF_MONTH, -1);
        }
        // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
        cal.setFirstDayOfWeek(Calendar.MONDAY);
        // 获得当前日期是一个星期的第几天
        int day = cal.get(Calendar.DAY_OF_WEEK);
        // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
        cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
        return cal.getTime();
    }

    public static void main(String[] args) {
        System.out.println(getThisWeekMonday(new Date()));
    }
}

4、retryUtils

package com.hema.cloud.util;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.tuple.Pair;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.TimeUnit;

@Slf4j
public class DateUtil {
    public static final String DEFAULTDATEPATTERN = "yyyy-MM-dd HH:mm:ss";
    public static final String DATEPATTERN_YYYY_MM_DD = "yyyy-MM-dd";
    public static final String DATEPATTERN_YYYY_MM_DD_HH = "yyyy-MM-dd HH";

    public static final String DATEPATTERN_YYYY_MM = "yyyy-MM";
    public static final String DATEPATTERN_YYYYMMDD = "yyyyMMdd";
    public static final String DATEPATTERN_YYYYMM = "yyyyMM";

    /**
     * 一天的秒数
     */
    public static final Integer ONE_DAY_SECONDS = 60 * 60 * 24;

    /**
     * 24小时毫秒值
     */
    public static final long H24 = TimeUnit.HOURS.toMillis(24);
    /**
     * 1小时毫秒值
     */
    public static final long H1 = TimeUnit.HOURS.toMillis(1);

    public static Date parse(String string, String pattern) throws ParseException {
        SimpleDateFormat format = new SimpleDateFormat(pattern);
        return format.parse(string);
    }

    public static Date parse2(String string, String pattern){
        try {
            SimpleDateFormat format = new SimpleDateFormat(pattern);
            return format.parse(string);
        }catch (Exception e){
            log.error("date parse error. param1{}, param2:{}", string, pattern, e);
        }
        return null;
    }

    public static Date getDayEnd(Date day){
        String format = new SimpleDateFormat(DATEPATTERN_YYYY_MM_DD)
                .format(day);
        return parse2( format + " 23:59:59", DEFAULTDATEPATTERN);
    }

    public static Date getDayStart(Date day){
        String format = new SimpleDateFormat(DATEPATTERN_YYYY_MM_DD)
                .format(day);
        return parse2( format + " 00:00:00", DEFAULTDATEPATTERN);
    }

    public static Date getYesterdayEnd(Date day){
        Calendar instance = Calendar.getInstance();
        instance.setTime(day);
        instance.add(Calendar.HOUR, -24);
        return getDayEnd(instance.getTime());
    }

    /**
     * 返回自定义格式字符串
     */
    public static String dateToString(Date date, String pattern) {
        SimpleDateFormat formatter = new SimpleDateFormat(pattern);
        return formatter.format(date);
    }

    public static Date increaseDate(Date aDate, int days) {
        Calendar cal = Calendar.getInstance();

        cal.setTime(aDate);
        cal.add(Calendar.DAY_OF_MONTH, days);
        return cal.getTime();
    }

    /**
     * Date 转换成 LocalDate
     *
     * @param date
     * @return
     */
    public static LocalDate date2LocalDate(Date date) {
        Instant instant = date.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();
        LocalDate localDate = instant.atZone(zoneId).toLocalDate();
        return localDate;
    }

    /**
     * LocalDate 转换成 Date
     *
     * @param localDate
     * @return
     */
    public static Date localDate2Date(LocalDate localDate) {
        ZoneId zoneId = ZoneId.systemDefault();
        ZonedDateTime zdt = localDate.atStartOfDay(zoneId);
        Date date = Date.from(zdt.toInstant());
        return date;
    }

    /**
     * localDateTime 转换成 Date
     *
     * @param localDateTime
     * @return
     */
    public static Date localDateTime2Date(LocalDateTime localDateTime) {
        ZoneId zoneId = ZoneId.systemDefault();
        ZonedDateTime zdt = localDateTime.atZone(zoneId);
        Date date = Date.from(zdt.toInstant());
        return date;
    }

    /**
     * Date 转换成 LocalDateTime
     *
     * @param date
     */
    public static LocalDateTime date2LocalDateTime(Date date) {
        Instant instant = date.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();
        LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
        return localDateTime;
    }

    /**
     * 获取指定时间当天的0点
     *
     * @return
     */
    public static LocalDateTime getFirstSecond(LocalDate localDate) {
        return LocalDateTime.of(localDate, LocalDateTime.MIN.toLocalTime());
    }

    /**
     * 获取指定时间当天的最后一秒
     *
     * @return
     */
    public static LocalDateTime getLastSecond(LocalDate localDate) {
        return LocalDateTime.of(localDate, LocalDateTime.MAX.toLocalTime());
    }

    /**
     * 计算当前时间几小时之后的时间
     *
     * @param date  日期信息
     * @param hours 小时信息
     * @return 日期格式信息
     */
    public static Date addHours(Date date, long hours) {
        return addMinutes(date, hours * 60);
    }

    /**
     * 计算当前时间几分钟之后的时间
     *
     * @param date    日期信息
     * @param minutes 分钟信息
     * @return 日期信息
     */
    public static Date addMinutes(Date date, long minutes) {
        return addSeconds(date, minutes * 60);
    }

    /**
     * 计算当前时间几秒钟之后的时间
     *
     * @param date 日期信息
     * @param secs 秒信息
     * @return 日期信息
     */

    public static Date addSeconds(Date date, long secs) {
        return new Date(date.getTime() + (secs * 1000));
    }


    /**
     * 拿到明天0点的时间
     * @return
     */
    public static Date getTomorrow() {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.add(Calendar.DAY_OF_YEAR, 1);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        return calendar.getTime();
    }


    /**
     * 获取一周中的周一
     * @param date
     * @return
     */
    public static Date getThisWeekMonday(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        // 获得当前日期是一个星期的第几天
        int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
        if (1 == dayWeek) {
            cal.add(Calendar.DAY_OF_MONTH, -1);
        }
        // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
        cal.setFirstDayOfWeek(Calendar.MONDAY);
        // 获得当前日期是一个星期的第几天
        int day = cal.get(Calendar.DAY_OF_WEEK);
        // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
        cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
        return cal.getTime();
    }

    public static void main(String[] args) {
        System.out.println(getThisWeekMonday(new Date()));
    }
}

4、convertUtils模型转化工具

package com.wdk.ums.nlp.utils.convert;

import java.util.List;
import java.util.function.Supplier;
import java.util.stream.Collectors;

import org.springframework.beans.BeanUtils;

/**
 * pojo转换工具类
 *
 * @author lich.wangy
 * @date 2018-11-08
 */
public class ModelConvertUtils {

    /**
     * 把source对象的属性复制到result对象中
     *
     * 例如将A a 转为B b
     * B b = PojoConvertUtils.convert(a,B.class);
     *
     * @param source
     * @param s
     * @param <R>
     * @param <S>
     * @return
     * @throws IllegalAccessException
     * @throws InstantiationException
     */
    public static <R, S> R convert(S source, Supplier<R> s) {
        if (source == null) {
            return null;
        }
        R result = s.get();
        BeanUtils.copyProperties(source, result);
        return result;

    }

    /**
     * 把source对象列表复制到result对象列表
     * * 例如将List<A> a 转为List<B> b
     * List<B> b = PojoConvertUtils.convert(a,B.class);
     *
     * @param sourceList
     * @param supplier
     * @param <R>
     * @param <S>
     * @return
     * @throws IllegalAccessException
     * @throws InstantiationException
     */
    public static <R, S> List<R> convert(List<S> sourceList, Supplier<R> supplier) {
        if (sourceList == null) {
            return null;
        }
        return sourceList.stream().map(each -> convert(each, supplier)).collect(Collectors.toList());
    }

}

5、mysql中扩展字段用URL编码处理方式

package com.cainiao.school.management.common.utils;

import com.alibaba.fastjson.JSON;
import com.cainiao.school.management.common.enums.SiteManagementFeePatternEnum;
import lombok.Data;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>Description : {todo} </p>
 *
 * @author : lierlin
 * @version : v1.0.0
 * @since : 2020/6/29 17:06
 **/
public class FeatureUtil {

    public static final String SP = ";";
    public static final String SSP = ":";
    private static final String DEFAULT_CHARSET = "UTF-8";

    public static String getFeature(String feature,String key){
        Map<String,String> featureMap = toMap(feature);
        return featureMap.get(key);
    }

    public static boolean getFeatureBoolean(String feature,String key){
        Map<String,String> featureMap = toMap(feature);
        String res = featureMap.get(key);
        return BooleanUtils.toBoolean(res);
    }

    /**
     * map to string
     *
     * @param map the map
     * @return the string
     */
    public static String toString(final Map<String, String> map) {

        final StringBuilder featureSB = new StringBuilder(SP);
        if (MapUtils.isEmpty(map)) {
            return featureSB.toString();
        }

        for (Map.Entry<String, String> entry : map.entrySet()) {
            final String k = entry.getKey();
            final String v = entry.getValue();

            if (null == k                    || null == v) {
                // 过滤掉无效的kv对
                continue;
            }

            try {
                featureSB
                        .append(encode(k, v))
                        .append(SP)
                ;
            } catch (UnsupportedEncodingException e) {
                //TODO : log this
            }

        }

        return featureSB.toString();

    }


    /**
     * string to map
     *
     * @param featureString the string
     * @return the map
     */
    public static Map<String, String> toMap(final String featureString) {
        final Map<String, String> map = new LinkedHashMap<>();

        if (StringUtils.isBlank(featureString)) {
            return map;
        }

        for (String kv : StringUtils.split(featureString, SP)) {

            if (StringUtils.isBlank(kv)) {
                // 过滤掉为空的字符串片段
                continue;
            }

            final String[] ar = StringUtils.split(kv, SSP, 2);
            if (ar.length != 2) {
                // 过滤掉不符合K:V单目的情况
                continue;
            }

            final String k = ar[0];
            final String v = ar[1];
            if (StringUtils.isNotBlank(k)
                    && StringUtils.isNotBlank(v)) {
                try {
                    decode(map, k, v);
                } catch (UnsupportedEncodingException e) {
                    // TODO : log this
                }
            }

        }

        return map;
    }


    private static String encode(final String k, final String v) throws UnsupportedEncodingException {
        return URLEncoder.encode(k, DEFAULT_CHARSET) + SSP + URLEncoder.encode(v, DEFAULT_CHARSET);
    }

    private static void decode(final Map<String, String> map, final String k, final String v) throws UnsupportedEncodingException {
        map.put(URLDecoder.decode(k, DEFAULT_CHARSET), URLDecoder.decode(v, DEFAULT_CHARSET));
    }

    public static void main(String args[]){
        String featureStr = ";iss_job_ins_id:776459745343;";
        String res = getFeature(featureStr,"navigator_golden_sta");
        boolean booleanRes = BooleanUtils.toBoolean(res);
        System.out.println(booleanRes);

      String bb = "lierlin:lidalin";
        System.out.println(URLEncoder.encode(bb));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值