Java中的元组
自定义元组
class A<L,R>{
public static void main(String\[\] args) {
// hutool的pair可以序列化,其他包下的都不可用!
// Map<String, Object> map = new HashMap<>();
// map.put("aaa", new Date());
// Pair<String, Map<String, Object>> pair = new Pair<>("String0", map);
// System.out.println(pair);
// String s = JSONObject.toJSONString(pair);
// System.out.println(s);
// Pair<String, Map<String, Object>> stringMapPair1 =
// JSONObject.parseObject(s, new TypeReference<Pair<String, Map<String, Object>>>() {});
// System.out.println(stringMapPair1);
// Pair stringMapPair =
// JSONObject.parseObject(s, Pair.class);
// System.out.println(stringMapPair);
A<String,Map<String,Object>> a = new A<>();
a.setLeft("String");
Map<String, Object> map = new HashMap<>();
map.put("aaa", new Date());
a.setRight(map);
String str = JSONObject.toJSONString(a);
System.out.println(str);
A<String, Map<String, Object>> a1 =
JSONObject.parseObject(str, new TypeReference<A<String, Map<String, Object>>>() {});
System.out.println(a1);
A a2 =
JSONObject.parseObject(str, A.class);
System.out.println(a2);
}
private L left;
private R right;
public L getLeft() {
return left;
}
public void setLeft(L left) {
this.left = left;
}
public R getRight() {
return right;
}
public void setRight(R right) {
this.right = right;
}
@Override
public String toString() {
return "A{" +
"left=" + left +
", right=" + right +
'}';
}
}
//结果
{"left":"String","right":{"aaa":1685671202468}}
A{left=String, right={aaa=1685671202468}}
A{left=String, right={"aaa":1685671202468}}