一直往下get的map

一直往下get的map

文档:一直往下get的map.note

链接:http://note.youdao.com/noteshare?id=7b6d315d86ce9e5f8d7cac9be8e924b8\&sub=95F9FFDA8EB447BBA506286E261F4C88
添加链接描述

java 复制代码
package com.example.demo.entity;

import org.bson.Document;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import top.starp.util.MapUtil;

import java.util.*;

//HashMap<String ,Object>
//extends Map<? ,?>
// HashMap<? ,?>
// extends HashMap<String ,Object>
public class TableDataItem
        extends HashMap<String ,Object>
        implements
         Map<String, Object>,java.io.Serializable {
//    Object g(Object key){
//        Object o = get(key);
//        return  o;
//    }

   public TableDataItem(){
//       Document
    }

   public TableDataItem get(String ...keys){
       return  get(this,keys);
//        TableDataItem tableDataItem=this;
//        for (String key : keys) {
//            tableDataItem= tableDataItem.getNext(key);
//        }
//        return tableDataItem;
    }


    public TableDataItem get(String keys){
        return  get(this,keys);
    }

    public static TableDataItem get(TableDataItem tableDataItem,String ...keys){
//        TableDataItem tableDataItem=this;
        for (String key : keys) {
            tableDataItem= tableDataItem.getNext(key);
        }
        return tableDataItem;
    }

    public static TableDataItem get(TableDataItem tableDataItem,String keys){
        String[] split = keys.split("\\.");
       return get(tableDataItem,split);
//        TableDataItem tableDataItem=this;
//        for (String key : split) {
//            tableDataItem= tableDataItem.getNext(key);
//        }
//        return tableDataItem;
    }

    public static Map<String, Object> getMap(Map<String, Object> mapNoType, Object key) {
        Map<String, Object> data = (Map<String, Object>) mapNoType.get(key);
//        data.get
        return data;
    }
   public static TableDataItem of(String key, Object value){
        TableDataItem tableDataItem = new TableDataItem();
        Object put = tableDataItem.put(key, value);
        return tableDataItem;
    }

    public static TableDataItem of(Map<String ,Object>map){
        TableDataItem tableDataItem = new TableDataItem();
        tableDataItem.putAll(map);
//        Object put = tableDataItem.put(key, value);
        return tableDataItem;
    }

    public static List<TableDataItem> of( List< Map<String ,Object>> map){
       List<TableDataItem>tableDataItems=new ArrayList<>();
        for (Map<String, Object> stringObjectMap : map) {
            TableDataItem tableDataItem = new TableDataItem();
            tableDataItem.putAll(stringObjectMap);
            tableDataItems.add(tableDataItem);
        }
//        TableDataItem tableDataItem = new TableDataItem();
//        tableDataItem.putAll(map);
        Object put = tableDataItem.put(key, value);
        return tableDataItems;
    }

    public static void main(String[] args) {
//        TableDataItem.p
        TableDataItem tableDataItem2 = new TableDataItem();
//        tableDataItem2.
        TableDataItem tableDataItem = new TableDataItem();
//        tableDataItem.put("1",new TableDataItem());
        tableDataItem.put("1",TableDataItem.of("2","3131"));
        /**
         * tableDataItem1
         * {2=3131}
         */
//        TableDataItem tableDataItem1 = tableDataItem.get("1");
        TableDataItem tableDataItem1 = tableDataItem.getNext("1");
        System.out.println("tableDataItem1");
        System.out.println(tableDataItem1);
    }

  
//    @Override
    public TableDataItem getNext(Object key) {
        HashMap <String ,Object> next= (HashMap<String ,Object>)  super.get(key);
        TableDataItem tableDataItem = new TableDataItem();
        tableDataItem.putAll(next);
        return  tableDataItem;
//        return  (TableDataItem) super.get(key);
    }

    public TableDataItem g(Object key) {
        return getNext(key);

    }
    public String getStr(String key) {

        String string = MapUtil.getString(this, key);
        return string;

    }

    

    Map<?, ?> getMap(Object key){
        Map<?, ?> map = MapUtil.getMap(this, key);
        return  map;
    }

/
//        return 0;
}

 @ApiOperation(value = "tableDataItemShow", notes = "walking")
    @RequestMapping(value = "/tableDataItemShow", method = RequestMethod.POST)
  public   Object tableDataItemShow(@RequestBody TableDataItem tableDataItem){

        log.info("tableDataItem {}",tableDataItem);
//        creator

//        TableDataItem haha = tableDataItem.get(k.creator).get("xixi").get("haha");
//        TableDataItem haha = tableDataItem.get(k.creator).getN("xixi").get("haha");
        TableDataItem haha = tableDataItem.getNext(k.creator).getNext("xixi").getNext("haha");
        log.info("haha {}",haha);

        /**
         *  tableDataItem2_haha {hoho=1}
         * 2023-08-17 21:24:59.305  INFO 10540 --- [nio-8889-exec-2] c.example.demo.controller.AllController  : tableDataItem1_ll {hoho=1}
         */

        TableDataItem tableDataItem2_haha = tableDataItem.get("creator.xixi.haha");
        log.info("tableDataItem2_haha {}",tableDataItem2_haha);

//        TableDataItem.get
//        TableDataItem tableDataItem1 = TableDataItem.get(tableDataItem, "31", "3131", "313", "3141");
        TableDataItem tableDataItem1_ll = TableDataItem.get(tableDataItem, "creator", "xixi", "haha");
        log.info("tableDataItem1_ll {}",tableDataItem1_ll);

        String str1Hoho = haha.getStr("hoho");
      log.info("str1Hoho {}",str1Hoho);
//        TableDataItem tableDataItem2 = tableDataItem.get(k.creator).get("xixi").get("haha").get("hoho");
//        String str = tableDataItem.get(k.creator).get("xixi").get("haha").getStr("hoho");
        String str = tableDataItem.getNext(k.creator).getNext("xixi").getNext("haha").getStr("hoho");
        log.info("str {}",str);

//        String str1 = tableDataItem.g("da").g("da").g("dada").g("313").getStr("3131");
//        log.info("tableDataItem2 {}",tableDataItem2);
//        log.info("tableDataItem2 {}",tableDataItem2);
//        TableDataItem tableDataItem1 = tableDataItem.get(k.modelPath).get("31").get("31");
//        log.info("tableDataItem1 {}",tableDataItem1);
        return tableDataItem;
    }
相关推荐
谈谈叭2 分钟前
Javascript中的深浅拷贝以及实现方法
开发语言·javascript·ecmascript
lx学习3 分钟前
Python学习26天
开发语言·python·学习
代码调试24 分钟前
Springboot校园失物招领平台
java·spring boot
大今野1 小时前
python习题练习
开发语言·python
爱编程的鱼1 小时前
javascript用来干嘛的?赋予网站灵魂的语言
开发语言·javascript·ecmascript
camellias_1 小时前
SpringBoot(二十三)SpringBoot集成JWT
java·spring boot·后端
tebukaopu1481 小时前
springboot如何获取控制层get和Post入参
java·spring boot·后端
昔我往昔1 小时前
SpringBoot 创建对象常见的几种方式
java·spring boot·后端
q567315231 小时前
用 PHP或Python加密字符串,用iOS解密
java·python·ios·缓存·php·命令模式
灭掉c与java2 小时前
第三章springboot数据访问
java·spring boot·后端