//===================================================================================

package org.jxstar.util;

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; public class MapUtil {
public MapUtil() {
} public static double getDouble(Map mp, String param) {
return getDouble(mp, param, "0.00");
} public static double getDouble(Map mp, String param, String defval) {
String value = getValue(mp, param, defval);
return Double.parseDouble(value);
} public static int getInt(Map mp, String param) {
return getInt(mp, param, "0");
} public static int getInt(Map mp, String param, String defval) {
String value = getValue(mp, param, defval);
return Integer.parseInt(value);
} public static String getValue(Map mp, String param) {
return getValue(mp, param, "");
} 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();
} return s.length() == 0?defval:s;
}
}
} 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];
} return asRet;
} 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];
}
} public static boolean hasRecord(Map<String, String> mp) {
return hasRecodNum(mp) > 0;
} 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";
}
} return Integer.parseInt(sCnt);
} else {
return 0;
}
} public static String toJson(Map<String, String> mpData) {
if(mpData != null && !mpData.isEmpty()) {
Iterator itr = mpData.keySet().iterator();
StringBuilder sbOne = new StringBuilder("{"); 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) + "\',");
}
} return sbOne.substring(0, sbOne.length() - 1) + "}";
}
} else {
return "{}";
}
} public static String toString(Map mp) {
return toString(mp, (StringBuilder)null);
} private static String toString(Map mp, StringBuilder sb) {
if(mp != null && !mp.isEmpty()) {
if(sb == null) {
sb = new StringBuilder();
} Iterator itr = mp.keySet().iterator(); 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; 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; 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");
}
}
}
} return sb.toString();
}
} else {
return "map is empty...";
}
}
}
//===================================================================================
package org.jxstar.util;

import java.util.List;
import java.util.Map;
import org.jxstar.util.MapUtil;
import org.jxstar.util.factory.FactoryUtil; public class ArrayUtil {
public ArrayUtil() {
} public static String listToJson(List<Map<String, String>> lsData) {
if(lsData != null && !lsData.isEmpty()) {
StringBuilder sbJson = new StringBuilder();
int json = 0; for(int n = lsData.size(); json < n; ++json) {
Map mpData = (Map)lsData.get(json);
if(!mpData.isEmpty()) {
sbJson.append(MapUtil.toJson(mpData)).append(",");
}
} String var5 = "[]";
if(sbJson.length() > 0) {
var5 = "[" + sbJson.substring(0, sbJson.length() - 1) + "]";
} return var5;
} else {
return "[]";
}
} public static String arrayToString(String[] astr) {
return arrayToString(astr, ",");
} public static String arrayToString(String[] astr, String fill) {
if(astr != null && astr.length != 0) {
if(fill == null) {
fill = "";
} StringBuilder sb = new StringBuilder();
int tmps = 0; for(int n = astr.length; tmps < n; ++tmps) {
sb.append(astr[tmps] + fill);
} String var5 = "";
if(sb.length() > 0) {
var5 = sb.substring(0, sb.length() - 1);
} return var5;
} else {
return "";
}
} public static String[] arrayAddString(String[] amain, String str) {
return arrayAddArray(amain, new String[]{str});
} 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;
}
} public static String[] getGridCol(String sSelSQL) {
String[] asRet = getColArrayBySQL(sSelSQL);
int i = 0; for(int n = asRet.length; i < n; ++i) {
asRet[i] = asRet[i].replace(".", "__");
} return asRet;
} 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; 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();
}
}
} return asRet;
} else {
return new String[0];
}
}
}
} else {
return new String[0];
}
} 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]);
} return lsRet;
}
} public static String listToString(List<String> ls, String fill) {
String[] astr = listToArray(ls);
return arrayToString(astr, fill);
} 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;
}
}
}
												

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. iOS-自动布局Autolayout(原创)

    前言 基础知识 在一定情况下我们需要用到自动布局(autolayout) 这样我们就能使视图与视图之间的位置相互关联起来 横向:距离父视图左侧100 视图本身的宽度最小是100 距离父视图右侧是100 ...

  2. SSRS Reports 2008性能优化案例

    我们的一个Reporting Service服务上部署了比较多的SSRS报表,其中有一个系统的SSRS报表部署后,执行时间相对较长,加之供应商又在ASP.NET页面里面嵌套了Reporting Ser ...

  3. sublime3 集成angularJs插件

    sublime是web开发中一款轻量级高效编辑器,十分适合前端开发(安装sublime是需要注册的,请支持正版) 1.安装sublime3(http://www.sublimetext.com/3) ...

  4. Unity在Android和iOS中如何调用Native API

    本文主要是对unity中如何在Android和iOS中调用Native API进行介绍. 首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调 ...

  5. 烂泥:haproxy学习之手机规则匹配

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 今天我们来介绍下有关haproxy匹配手机的一些规则配置. 一.业务需要 现在根据业务 ...

  6. Apple Watch的课表应用iOS源码项目

    源码Class-Timetable,小清新风格的课表应用,可以按周或按天显示课表.按天显示时,左右滑动屏幕可以查看前一天或后一天的课表.功能:可以双模式切换(按天显示,按周显示,可以和 Apple W ...

  7. makefile之变量赋值

    makefile中变量赋值有4种方法: = ,   := ,  += ,  ?= = :直接赋值 变量 = 值 :=   :位置相关赋值 如果右值为一个值,那么它和=没区别,如果右值为变量,那么左边变 ...

  8. [WPF系列]-Data Validation

    项目经常前台界面涉及到用户输入时,我们常常会用到数据有效性的验证.在网页中我们之前用js来校验Form中的数据有效性.在WPF中我们如何实现这种验证机制了?答案:INotifyDataErrorInf ...

  9. 某中国500强企业BI系统成功应用案例

    随着某集团20多年的不断发展发展,现已成为中国500强.中国大企业集团竞争力前25强.中国信息化标杆企业和国家重点火炬高新技术企业.拥有总资产数十亿元.员工数万名,涉足电力.家电.能源.等多个行业,并 ...

  10. monkeyrunner之电脑安装驱动(五)

    在Monkeyrunner做自动化测试时,可以使用模拟器,当然也可以选择用真机.不过,要想通过电脑来安装软件,操作手机,则必须先安装手机驱动,而且一般手机连接电脑之后,电脑会自动开始下载驱动.不过也经 ...