From d1cf9be8d7a62bbbaeff35e4be8720fe1ad227d9 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Sat, 9 Sep 2017 13:23:35 +0800 Subject: [PATCH] =?UTF-8?q?AnyEncoder=E5=A2=9E=E5=8A=A0convertMapTo?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/org/redkale/convert/AnyEncoder.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/org/redkale/convert/AnyEncoder.java b/src/org/redkale/convert/AnyEncoder.java index 25bb177c8..991611b97 100644 --- a/src/org/redkale/convert/AnyEncoder.java +++ b/src/org/redkale/convert/AnyEncoder.java @@ -35,6 +35,23 @@ public final class AnyEncoder implements Encodeable { } } + @SuppressWarnings("unchecked") + public void convertMapTo(final Writer out, final Object... values) { + if (values == null || values.length < 2) { + out.writeNull(); + } else { + int count = values.length - values.length % 2; + out.writeMapB(count / 2); + for (int i = 0; i < count; i += 2) { + if (i > 0) out.writeArrayMark(); + this.convertTo(out, (T) values[i]); + out.writeMapMark(); + this.convertTo(out, (T) values[i + 1]); + } + out.writeMapE(); + } + } + @Override public Type getType() { return Object.class;