有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

序列化可以“序列化”吗在Java中使用注释的对象

我不确定“Serialize”是否是合适的词,但我想创建一些可以做到这一点的东西,目前:

private interface DummySerializer {
    default Map<String, String> serialize() {
        // Creates a Key/Value pair for all objects using the @DSerialize annotation.
    }
}

class DummyClass implements DummySerializer {
    private int hello = 0;
    @DSerialize private int world = 1;

}

Map<String, String> = new DummyClass().serialize();
// Print key/value pairs

这个例子可以打印出来

world, 1

因为变量名为“world”,包含@DSerialize注释,变量值为1

我怎么能这样做呢

甚至可以进一步获得变量的类型,例如“整数”或“浮点”


共 (1) 个答案

  1. # 1 楼答案

    看看messagepack——它是一种用于序列化的跨平台协议(他们称之为二进制json)。java实现基于注释。作为一个很好的特性,您可以序列化java对象,然后用不同的编程语言将其反序列化为对象

    严格地说,我想这不是你要找的,但它能胜任这项工作 http://msgpack.org/java example here