NutzCN Logo
问答 NutMap可以根据key去修改value么
发布于 2285天前 作者 动物园里的程序猿 1703 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

NutMap可以根据key去修改value么
或者put之后能改变存放位置么

16 回复

存放的位置?????????

就是nutmap一共有四个,我需要的数据在第二个,但是我需要对这个数据做一些修改再放进去,我先根据keyremove掉再放进去,所以位置发生了变化,datatable可能就识别不到一直报错

datatable是js, js的map没有顺序的

可是datatable报错了 我控制台没什么错 就controller return那报错了 json数据格式错误

 Sql sql = Sqls.create("select r.id,r.content,r.content_en ,r.content_rok,p.name from t_ieo_project p,t_ieo_risk r where r.project_id = p.id");
        sql.setCallback(Sqls.callback.records());
        List<T_ieo_risk> risks = sql.getList(T_ieo_risk.class);
        NutMap nutMap = this.data(length,start,draw,sql,sql);

先是写了一个自定义sql dao执行了一个data返回了一个nutmap

   List<T_ieo_risk> tIeoRisks = nutMap.getAsList("data",T_ieo_risk.class);
        T_ieo_risk tIeoRisk = tIeoRisks.get(0);

然后我把data取了一个list出来
又给了一个对象
然后我要对对象里的属性做一些操作

   String content = tIeoRisk.getContent();
         String content_en = tIeoRisk.getContent_en();
        String content_rok = tIeoRisk.getContent_rok();
        if(content.length()>20){
           tIeoRisk.setContent(content.substring(3,20)+"...");
        }
        if(content_en.length()>20){
            tIeoRisk.setContent_en(content_en.substring(3,20)+"...");
        }
        if(content_rok.length()>20){
            tIeoRisk.setContent_rok(content_rok.substring(3,20)+"...");
        }

然后我把集合的index0remove掉重新add进去

      tIeoRisks.remove(0);
        tIeoRisks.add(tIeoRisk);

最后我把nutmap的data remove掉重新put进去

nutMap.remove("data");
 nutMap.put("data",tIeoRisks);

和顺序真的有关 我刚才把nutmap所有的key都remove掉 重新把位置组合了一遍 就可以用了

应该就是datatable读取顺序的关系

  nutMap.remove("recordsFiltered");
       nutMap.remove("data");
       nutMap.remove("draw");
       nutMap.remove("recordsTotal");
       nutMap.put("recordsFiltered",recordsFiltered);
       nutMap.put("data",tIeoRisks);
       nutMap.put("draw",drawd);
       nutMap.put("recordsTotal",recordsTotal);

那个tIeoRisks就是原来的对象,不需要put回去

但是我对它做了修改啊 nutmap存放的不应该是之前的么

同一个对象

那list 我也不用重新put进去?

为什么啊 大佬 是它内部做了一些什么吗

java基础不行?

ABC abc = map.get("abc");
abc.age = 123;
System.out.println(map.get("abc").age == 123);

集合学的确实不好 当时一天学完所有集合,至今都懵懂

添加回复
请先登陆
回到顶部