在Java中有没有什么类型可以让这样定义字典?

在Java中有没有什么类型可以让这样定义字典?这样会很简单方便,比如,js,python这样写很方便 。

policy = {
    "expiration":"2021-02-02T12:00:00Z",
    "datas":[["content-range",0,18576000]]
}
阅读 2k
4 个回答
@Data
public enum Policy{
    private final Date expiration;
    private final List<List<?>> data;
}
新手上路,请多包涵

String[] datas={"content","content","18576000"};
Map<String, Object> map = new HashMap<String, Object>() {

        {
            put("expiration", Integer.parseInt("2021-02-02T12:00:00Z"));
            put("datas", datas);
        }
    };

使用 guava 你可以这样做:

import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;

Map<String, ?> map = ImmutableMap.of(
    "expiration", "2021-02-02T12:00:00Z",
    "datas", Lists.newArrayList(Lists.newArrayList("content-range", 0, 18576000))
);

JDK9以上

final Map<String, Object> map = Map.of("expiration", "2021-02-02T12:00:00Z",
                "datas", List.of(List.of("content-range", 0, 18576000)));

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题