1. //===================================================================================
  2.  
  3. package org.jxstar.util;
  4.  
  5. import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    import org.jxstar.util.ArrayUtil;
    import org.jxstar.util.StringUtil;
  6.  
  7. public class MapUtil {
    public MapUtil() {
    }
  8.  
  9. public static double getDouble(Map mp, String param) {
    return getDouble(mp, param, "0.00");
    }
  10.  
  11. public static double getDouble(Map mp, String param, String defval) {
    String value = getValue(mp, param, defval);
    return Double.parseDouble(value);
    }
  12.  
  13. public static int getInt(Map mp, String param) {
    return getInt(mp, param, "0");
    }
  14.  
  15. public static int getInt(Map mp, String param, String defval) {
    String value = getValue(mp, param, defval);
    return Integer.parseInt(value);
    }
  16.  
  17. public static String getValue(Map mp, String param) {
    return getValue(mp, param, "");
    }
  18.  
  19. public static String getValue(Map mp, String param, String defval) {
    if(mp == null) {
    return defval;
    } else if(param == null) {
    return defval;
    } else {
    Object obj = mp.get(param);
    if(obj == null) {
    return defval;
    } else {
    String s;
    if(obj instanceof String[]) {
    s = ArrayUtil.arrayToString((String[])((String[])obj));
    } else {
    s = (String)obj;
    s = s.trim();
    }
  20.  
  21. return s.length() == 0?defval:s;
    }
    }
    }
  22.  
  23. public static String[] getValues(Map mp, String name) {
    String[] asRet = null;
    Object obj = mp.get(name);
    if(obj instanceof String) {
    asRet = new String[]{(String)obj};
    } else if(obj instanceof String[]) {
    asRet = (String[])((String[])obj);
    } else {
    asRet = new String[0];
    }
  24.  
  25. return asRet;
    }
  26.  
  27. public static String[] getParameterNames(Map mp) {
    if(mp != null && !mp.isEmpty()) {
    Set key = mp.keySet();
    String[] asRet = (String[])key.toArray(new String[key.size()]);
    return asRet;
    } else {
    return new String[0];
    }
    }
  28.  
  29. public static boolean hasRecord(Map<String, String> mp) {
    return hasRecodNum(mp) > 0;
    }
  30.  
  31. public static int hasRecodNum(Map<String, String> mp) {
    if(mp != null && !mp.isEmpty()) {
    String sCnt = (String)mp.get("cnt");
    if(sCnt == null || sCnt.length() == 0) {
    sCnt = (String)mp.get(mp.keySet().iterator().next());
    if(sCnt == null || sCnt.length() == 0) {
    sCnt = "0";
    }
    }
  32.  
  33. return Integer.parseInt(sCnt);
    } else {
    return 0;
    }
    }
  34.  
  35. public static String toJson(Map<String, String> mpData) {
    if(mpData != null && !mpData.isEmpty()) {
    Iterator itr = mpData.keySet().iterator();
    StringBuilder sbOne = new StringBuilder("{");
  36.  
  37. while(true) {
    while(itr.hasNext()) {
    String key = (String)itr.next();
    String value = (String)mpData.get(key);
    if(value != null && (value.equals("true") || value.equals("false"))) {
    sbOne.append("\'" + key + "\':" + value + ",");
    } else {
    sbOne.append("\'" + key + "\':\'" + StringUtil.strForJson(value) + "\',");
    }
    }
  38.  
  39. return sbOne.substring(0, sbOne.length() - 1) + "}";
    }
    } else {
    return "{}";
    }
    }
  40.  
  41. public static String toString(Map mp) {
    return toString(mp, (StringBuilder)null);
    }
  42.  
  43. private static String toString(Map mp, StringBuilder sb) {
    if(mp != null && !mp.isEmpty()) {
    if(sb == null) {
    sb = new StringBuilder();
    }
  44.  
  45. Iterator itr = mp.keySet().iterator();
  46.  
  47. while(true) {
    while(itr.hasNext()) {
    String sName = (String)itr.next();
    Object obj = mp.get(sName);
    if(obj instanceof String) {
    sb.append("\t" + sName + "=" + obj + "\r\n");
    } else if(obj instanceof String[]) {
    String[] var10 = (String[])((String[])obj);
    String[] var11 = var10;
    int var12 = var10.length;
  48.  
  49. for(int i$ = 0; i$ < var12; ++i$) {
    String val = var11[i$];
    sb.append("\t" + sName + "=" + val + "\r\n");
    }
    } else if(obj instanceof Map) {
    sb.append("\t<" + sName.toString() + ">\r\n");
    toString((Map)obj, sb);
    sb.append("\t</" + sName.toString() + ">\r\n");
    } else if(obj instanceof List) {
    List ls = (List)obj;
  50.  
  51. for(int i = 0; i < ls.size(); ++i) {
    Object lsObj = ls.get(i);
    if(lsObj instanceof Map) {
    sb.append("\t<" + sName.toString() + "_ls>\r\n");
    toString((Map)lsObj, sb);
    sb.append("\t</" + sName.toString() + "_ls>\r\n");
    } else {
    sb.append("list value=" + obj.toString() + "\r\n");
    }
    }
    }
    }
  52.  
  53. return sb.toString();
    }
    } else {
    return "map is empty...";
    }
    }
    }
  1. //===================================================================================
  1. package org.jxstar.util;
  2.  
  3. import java.util.List;
    import java.util.Map;
    import org.jxstar.util.MapUtil;
    import org.jxstar.util.factory.FactoryUtil;
  4.  
  5. public class ArrayUtil {
    public ArrayUtil() {
    }
  6.  
  7. public static String listToJson(List<Map<String, String>> lsData) {
    if(lsData != null && !lsData.isEmpty()) {
    StringBuilder sbJson = new StringBuilder();
    int json = 0;
  8.  
  9. for(int n = lsData.size(); json < n; ++json) {
    Map mpData = (Map)lsData.get(json);
    if(!mpData.isEmpty()) {
    sbJson.append(MapUtil.toJson(mpData)).append(",");
    }
    }
  10.  
  11. String var5 = "[]";
    if(sbJson.length() > 0) {
    var5 = "[" + sbJson.substring(0, sbJson.length() - 1) + "]";
    }
  12.  
  13. return var5;
    } else {
    return "[]";
    }
    }
  14.  
  15. public static String arrayToString(String[] astr) {
    return arrayToString(astr, ",");
    }
  16.  
  17. public static String arrayToString(String[] astr, String fill) {
    if(astr != null && astr.length != 0) {
    if(fill == null) {
    fill = "";
    }
  18.  
  19. StringBuilder sb = new StringBuilder();
    int tmps = 0;
  20.  
  21. for(int n = astr.length; tmps < n; ++tmps) {
    sb.append(astr[tmps] + fill);
    }
  22.  
  23. String var5 = "";
    if(sb.length() > 0) {
    var5 = sb.substring(0, sb.length() - 1);
    }
  24.  
  25. return var5;
    } else {
    return "";
    }
    }
  26.  
  27. public static String[] arrayAddString(String[] amain, String str) {
    return arrayAddArray(amain, new String[]{str});
    }
  28.  
  29. public static String[] arrayAddArray(String[] amain, String[] asub) {
    if(amain == null) {
    return asub == null?new String[0]:asub;
    } else if(asub == null) {
    return amain;
    } else {
    String[] aret = new String[amain.length + asub.length];
    System.arraycopy(amain, 0, aret, 0, amain.length);
    System.arraycopy(asub, 0, aret, amain.length, asub.length);
    return aret;
    }
    }
  30.  
  31. public static String[] getGridCol(String sSelSQL) {
    String[] asRet = getColArrayBySQL(sSelSQL);
    int i = 0;
  32.  
  33. for(int n = asRet.length; i < n; ++i) {
    asRet[i] = asRet[i].replace(".", "__");
    }
  34.  
  35. return asRet;
    }
  36.  
  37. public static String[] getColArrayBySQL(String sSelSQL) {
    if(sSelSQL != null && sSelSQL.length() != 0) {
    String sql = sSelSQL.toLowerCase();
    if(sql.indexOf("select ") < 0) {
    return new String[0];
    } else {
    String fromSql = sql.substring(7);
    if(fromSql.indexOf(" from ") < 0) {
    return new String[0];
    } else {
    String select = fromSql.substring(0, fromSql.indexOf(" from ")).trim();
    if(select != null && select.length() > 1) {
    String[] asCol = select.split(",");
    String[] asRet = new String[asCol.length];
    boolean asindex = false;
    int i = 0;
  38.  
  39. for(int n = asCol.length; i < n; ++i) {
    if(asCol.length != 0) {
    int var9 = asCol[i].indexOf(" as ");
    if(var9 > -1) {
    asRet[i] = asCol[i].trim().substring(var9 + 3, asCol[i].trim().length()).trim();
    } else {
    asRet[i] = asCol[i].trim();
    }
    }
    }
  40.  
  41. return asRet;
    } else {
    return new String[0];
    }
    }
    }
    } else {
    return new String[0];
    }
    }
  42.  
  43. public static List<String> arrayToList(String[] astr) {
    List lsRet = FactoryUtil.newList();
    if(astr == null) {
    return lsRet;
    } else {
    for(int i = 0; i < astr.length; ++i) {
    lsRet.add(astr[i]);
    }
  44.  
  45. return lsRet;
    }
    }
  46.  
  47. public static String listToString(List<String> ls, String fill) {
    String[] astr = listToArray(ls);
    return arrayToString(astr, fill);
    }
  48.  
  49. public static String[] listToArray(List<String> ls) {
    if(ls == null) {
    return null;
    } else {
    int len = ls.size();
    String[] asRet = new String[len];
    asRet = (String[])ls.toArray(asRet);
    return asRet;
    }
    }
    }
  1.  

map、Array工具类,来源于东宏软件的更多相关文章

  1. Java基础 @org.junit.Test-单元测试方法 + 操纵Collection和Map的工具类 : Collections 的sort/binarySearch/max/min等静态方法

      单元测试代码:  ( 在IDEA中先输入'@Test '然后根据提示进行自动修订即可!!运行时直接运行即可! 若有多个单元测试块的时候,直接把鼠标放在哪里就自动在哪里运行那个单元块) import ...

  2. 编写一个数组工具类, 编写本软件的 帮助文档(API文档)

    本文档是对静态成员的练习. 一. 建立一个ArrayTool(数组工具)的类,在此类中对传入数组进行一些操作(选最大值.先最小值.冒泡排正序.选择排反序.输出数组元素), 二. 建立一个Test的类, ...

  3. 12:集合map、工具类

    一.map集合 Map:一次添加一对元素.Collection 一次添加一个元素. Map也称为双列集合,Collection集合称为单列集合. 其实map集合中存储的就是键值对(结婚证书), map ...

  4. [19/03/27-星期三] 容器_Iterator(迭代器)之遍历容器元素(List/Set/Map)&Collections工具类

    一.概念 迭代器为我们提供了统一的遍历容器的方式 /* *迭代器遍历 * */ package cn.sxt.collection; import java.security.KeyStore.Ent ...

  5. (Set, Map, Collections工具类)JAVA集合框架二

    Java集合框架部分细节总结二 Set 实现类:HashSet,TreeSet HashSet 基于HashCode计算元素存放位置,当计算得出哈希码相同时,会调用equals判断是否相同,相同则拒绝 ...

  6. 将JSON转换成MAP的工具类

    package com.xxxx.util; import java.io.BufferedReader; import java.io.InputStream; import java.io.Inp ...

  7. String转Map的工具类

    借鉴代码 public class StringToMapUtil { public static Map<String, String> getValue(String param) { ...

  8. Java_常用工具类收集

    一.日期工具类 package com.ebd.application.common.utils; import java.sql.Timestamp; import java.text.DateFo ...

  9. commons-lang3-3.2.jar中的常用工具类的使用

    这个包中的很多工具类可以简化我们的操作,在这里简单的研究其中的几个工具类的使用. 1.StringUtils工具类 可以判断是否是空串,是否为null,默认值设置等操作: /** * StringUt ...

随机推荐

  1. .NET应用架构设计—服务端开发多线程使用小结(多线程使用常识)

    有一段时间没有更新博客了,最近半年都在着写书<.NET框架设计—大型企业级框架设计艺术>,很高兴这本书将于今年的10月份由图灵出版社出版,有关本书的具体介绍等书要出版的时候我在另写一篇文行 ...

  2. 【hive】——Hive基本操作

    阅读本文章可以带着下面问题:1.与传统数据库对比,找出他们的区别2.熟练写出增删改查(面试必备) 创建表:hive> CREATE TABLE pokes (foo INT, bar STRIN ...

  3. 问题解决——CVSListBox的使用

    =================================版权声明================================= 版权声明:本文为博主原创文章 未经许可不得转载  请通过右 ...

  4. [Java入门笔记] 面向对象编程基础(一):类和对象

    什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...

  5. android ListView 属性

    android:divider="#fffff" 分割线颜色 android:dividerHeight="1px" 分割线高度 divider 分割线-去掉分 ...

  6. Redis学习笔记3-Redis5个可执行程序命令的使用

    在redis安装文章中,说到安装好redis后,在/usr/local/bin下有5个关于redis的可执行程序.下面关于这5个可执行程序命令的详细说明. redis-server Redis服务器的 ...

  7. hdfs client access the hdfs cluster not in one domain

    https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsMultihoming.html#Clients_u ...

  8. MVC MemeberShip vs. Asp.net Identity

    参考 从Membership 到 .NET4.5 之 ASP.NET Identity Extending Identity Accounts and Implementing Role-Based ...

  9. Jekyll + Github 搭建属于你的静态博客

    1. 搭建Jekyll环境 linux下jekyll的安装非常简单,这里主要讲一下windows下的jekyll的安装过程 这是一台刚刚装完系统的win10系统,它什么都没有,让我们从零开始. 1.1 ...

  10. 旧文备份:CANopen协议PDO的几种传输方式

    (于2007.1.22) 由于PDO所传输的数据内容是无协议的且分配的标识符范围较SDO靠前,因此,其效率和优先级都是较高的,通常用于实时过程数据的传输. PDO是生产/消费类型的通讯方式,数据只有一 ...