温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MessagePack Java 0.6.X 动态类型

发布时间:2020-08-09 04:56:41 来源:网络 阅读:377 作者:HoneyMoose 栏目:大数据

我们知道 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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI