zoukankan      html  css  js  c++  java
  • MessagePack Java 0.6.X 动态类型

    我们知道 Java 是一个静态类型的语言。通过输入 Value MessagePack能够实现动态的特性。

    Value 有方法来检查自己的类型(isIntegerType()isArrayType(), 等...),同时也转换为自己的类型 (asStringValue()convert(Template))。

    本代码可以在 https://github.com/cwiki-us-demo/messagepack-6-demo-java/blob/master/src/test/java/com/insight/demo/msgpack/MessagePack6DynamicTyping.java 中查看。

    package com.insight.demo.msgpack;
    
    
    import org.junit.Test;
    import org.msgpack.MessagePack;
    import org.msgpack.type.Value;
    import org.msgpack.unpacker.Converter;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    import static org.msgpack.template.Templates.TString;
    import static org.msgpack.template.Templates.tList;
    
    
    /**
     * MessagePack6Objects
     *
     * @author yhu
     */
    public class MessagePack6DynamicTyping {
        final Logger logger = LoggerFactory.getLogger(MessagePack6DynamicTyping.class);
    
    
    
    
        /**
         * Test MessagePack6Objects
         */
        @Test
        public void MessagePack6DynamicTyping() {
            logger.debug("MessagePack6Objects for Objects");
    
    
            // Create serialize objects.
            List<String> src = new ArrayList<String>();
            src.add("msgpack");
            src.add("kumofs");
            src.add("viver");
    
    
            MessagePack msgpack = new MessagePack();
             
            try {
    
    
                // Serialize
                byte[] raw = msgpack.write(src);
    
    
                // Deserialize directly using a template
                List<String> dst1 = msgpack.read(raw, tList(TString));
    
    
                // Or, Deserialze to Value then convert type.
                Value dynamic = msgpack.read(raw);
                List<String> dst2 = new Converter(dynamic).read(tList(TString));
    
    
            } catch (Exception ex) {
                logger.error("MessagePack Serialization And Deserialization error", ex);
            }
        }
    }

    https://www.cwiki.us/display/Serialization/QuickStart+For+MessagePack+Java+0.6.X

  • 相关阅读:
    生成组合算法
    今天复习C++的const,又学到了很多内容,总结一下[原创]
    文字和图片在一行,文字靠左,图片靠右(div)[转]
    联合查询
    排序查询
    分页查询 ★
    分组查询
    基础查询
    条件查询
    连接查询 (二)sql99语法
  • 原文地址:https://www.cnblogs.com/huyuchengus/p/11317866.html
Copyright © 2011-2022 走看看