/** 
* Simple Map 
* var m = new Map(); 
* m.put('key','value'); 
* var v_otherMap = v_m.toMapString();*
* alert(v_otherMap ); 
*/
(function(){
var _common = {
Map :function () {
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
this.keys = new Array(); /** 存放键的数组(遍历用到) */
this.data = new Object();/** 存放数据 */
/**
* 放入一个键值对
* @param {String} key
* @param {Object} value
*/
this.put = function(key, value) {
if(this.data[key] == null){
this.keys.push(key);
}
this.data[key] = value;
};
/**
* 获取某键对应的值
* @param {String} key
* @return {Object} value
*/
this.get = function(key) {
return this.data[key];
};
/**
* 删除一个键值对
* @param {String} key
*/
this.remove = function(k) {
this.keys.remove(k);
//delete this.keys[k];
this.data[k] = null;
};
/**
* 遍历Map,执行处理函数
*
* @param {Function} 回调函数 function(key,value,index){..}
*/
this.each = function(fn){
if(typeof fn != 'function'){
return;
}
var len = this.keys.length;
for(var i=0;i<len;i++){
var k = this.keys[i];
fn(k,this.data[k],i);
}
};
/**
* 获取键值数组(类似Java的entrySet())
* @return 键值对象{key,value}的数组
*/
this.entrys = function() {
var len = this.keys.length;
var entrys = new Array(len);
for (var i = 0; i < len; i++) {
entrys[i] = {
key : this.keys[i],
value : this.data[i]
};
}
return entrys;
};
/**
* 判断Map是否为空
*/
this.isEmpty = function() {
return this.keys.length == 0;
};
/**
* 获取键值对数量
*/
this.size = function(){
return this.keys.length;
};
/**
* 重写toString
*/
this.toString = function(){
var s = "{";
for(var i=0;i<this.keys.length;i++,s+=','){
var k = this.keys[i];
s += k+"="+this.data[k];
}
s+="}";
return s;
};
/**
* 重写toString
*/
this.toMapString = function(){
var s = "java.util.Map map = new java.util.HashMap();";
for(var i=0;i<this.keys.length;i++){
var k = this.keys[i];
if(i != 0) s +=";"; s += "map.put(\""+k+"\",\""+this.data[k]+"\")";
}
s+="; return map;";
return s;
};
} }; if(typeof JBPM == "undefined") window.JBPM={};
JBPM.common = _common;
})();

    @SuppressWarnings("rawtypes")
public static void main(String[] args) throws EvalError {
StringBuffer sb = new StringBuffer();
String tt ="201503";
Map map = makeupDynamicMap("java.util.Map map = new java.util.HashMap();map.put(\"result\",\"to\");map.put(\"result1\",\"to111\"); return map;");
System.out.println(map.get("result1"));
} @SuppressWarnings("rawtypes")
public static Map makeupDynamicMap(String otherParam) throws EvalError
{
Map variables = new HashMap();
if(StringUtils.isEmpty(otherParam))
return variables;
if(StringUtils.isNotEmpty(otherParam))
{
Interpreter it = new Interpreter();
Object obj = null;
obj = it.eval(otherParam);
variables.putAll((Map)obj);
}
return variables;
}



 

最新文章

  1. 分享一个UI与业务逻辑分层的框架(三)
  2. RabbitMQ的安装
  3. Mac下升级Nodejs
  4. Asp.net MVC 利用自定义RouteHandler来防止图片盗链
  5. box2d.js
  6. Axure RP
  7. 在oc代码中使用swift第三方框架
  8. [转]关于MYSQL Innodb 锁行还是锁表
  9. SilkTest天龙八部系列1-初始化和构造函数
  10. Java Inner class
  11. 高性能MySql进化论(十一):常见查询语句的优化
  12. C++中结构体与类的区别(结构不能被继承,默认是public,在堆栈中创建,是值类型,而类是引用类型)good
  13. 关于C++条件运算符(三目运算符)右结合的说明
  14. 互斥体与互锁 &lt;第五篇&gt;
  15. HTTP1.1协议中文版-RFC2616
  16. xamarin之 安装工具介绍
  17. 在 Tomcat 上配置虚拟主机
  18. H5项目常见问题及注意事项,视频全屏,定位,屏幕旋转和触摸,偏页面重构向 来源joacycode的github
  19. 安装vue-cli时-4058报错的解决方法
  20. plsql界面/command界面

热门文章

  1. java普通io(stream)处理文件读写的过程
  2. 如何创建 mapbox 精灵图
  3. 设计模式之单例模式(Singleton Pattern)深入浅出
  4. shell实现99乘法表
  5. Syn_Flood攻击&amp;防御手段
  6. Java API 操作HBase Shell
  7. 使用正则表达式和urllib模块爬取最好大学排名信息
  8. 【JS学习】var let const声明变量的异同点
  9. Linux 使用命令行上传下载文件
  10. Session、Cookie与Token