• java mix 知识点


    一、java后台接受web前台传递的数组参数

    前台发送:

    param=1,2  

    后台接收

    @RequestParam(value = "param") String[] param

    @RequestParam(value = "param") List<String> param


    二、toString():

    public static String reflectionToString(Object o){
        if(o == null) return StringUtils.EMPTY;
        StringBuilder toStr = new StringBuilder();
        if(o instanceof Collection){
            Iterator it = ((Collection) o).iterator();
            while (it.hasNext()){
                toStr.append(reflectionToString(it.next()));
                toStr.append("
    ");
            }
        }else if(o instanceof Map){
            Iterator<Map.Entry> mit = ((Map) o).entrySet().iterator();
            while (mit.hasNext()){
                Map.Entry entry = mit.next();
                String kv = entry.getKey() + ": " + reflectionToString(entry.getValue());
                toStr.append(kv);
                toStr.append(" ");
            }
        } else if(o instanceof Object[]){
            for (Object temp: (Object[])o){
                toStr.append(reflectionToString(temp));
            }
        }else if(o instanceof String){
            toStr.append(o);
        } else {
            toStr.append(ToStringBuilder.reflectionToString(o, ToStringStyle.SHORT_PREFIX_STYLE));
        }
        return toStr.toString();
    }

    三、TreeMap

    • 基于红黑树。

    • 非线程安全。

    • 同步使用:SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...))      

    四、properties属性文件工具类

    package xxx.business.utils;
    
    import org.apache.commons.configuration.ConfigurationException;
    import org.apache.commons.configuration.PropertiesConfiguration;
    import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    /**
     * Created by windwant on 2016/7/19.
     */
    public class ConfigUtils {
    
        private static final Logger logger = LoggerFactory.getLogger(ConfigUtils.class);
    
        private static PropertiesConfiguration config = null;
    
        static {
            try {
                if (config == null) {
                    config = new PropertiesConfiguration("config.properties");
                    //自动重新加载
                    config.setReloadingStrategy(new FileChangedReloadingStrategy());
                    //自动保存
                    config.setAutoSave(true);
                }
            } catch (ConfigurationException e) {
                logger.error("load config.properties error", e);
                throw new RuntimeException(e);
            }
        }
    
        private ConfigUtils(){}
    
        public static String get(String key) {
            if (config != null) {
                String value = config.getString(key);
                return value == null ? "" : value;
            }
            return "";
        }
    
        public static Integer getInteger(String key) {
            int result = -1;
            if (config != null) {
                try {
                    result = Integer.parseInt(config.getString(key));
                } catch (NumberFormatException e) {
                    result = -1;
                }
            }
            return result;
        }
    }

    五、SortedMap基本特性

    • 继承于Map。

    • 提供对key(自然排序顺序或者SortedMap创建时提供的Comparator)的全排序。

    • key必须实现Comparable接口,以便于进行相互比较。

    • 应用于对map的遍历(EntrySet、KeySet、Values)。

    • 对比SortedSet。

    • subMap(fromkey,tokey)、headMap(tokey)、tailMap(fromKey)

     
     
  • 相关阅读:
    ubuntu 安装docker
    docker 版本与查看某个容器详情信息
    linux namespace 分为有名和无名两种,默认情况下都是有名的
    查看centos 版本信息
    centos7 一键安装openstack 方法
    centos8 安装openstack (失败告终),参见centos7安装
    Windows7 安装docker工具的方法
    网络架构--防火墙双机热备(主备、负载均衡)
    ubuntu server 无线网口配置
    ubuntu server 18.04 单机安装openstack
  • 原文地址:https://www.cnblogs.com/niejunlei/p/6956936.html
Copyright © 2020-2023  润新知