update deserialization to use float (#88)
diff --git a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/FieldDeserializer2FactoryUnsafe.java b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/FieldDeserializer2FactoryUnsafe.java
index a48a480..af9dfb5 100644
--- a/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/FieldDeserializer2FactoryUnsafe.java
+++ b/hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/FieldDeserializer2FactoryUnsafe.java
@@ -388,12 +388,11 @@
 
         public void deserialize(AbstractHessianInput in, Object obj)
                 throws IOException {
-            double value = 0;
+            float value = 0;
 
             try {
-                value = in.readDouble();
-
-                _unsafe.putDouble(obj, _offset, value);
+                value = (float) in.readDouble();
+                _unsafe.putFloat(obj, _offset, value);
             } catch (Exception e) {
                 logDeserializeError(_field, obj, value, e);
             }
diff --git a/java-8-test/src/test/java/com/alibaba/com/caucho/hessian/io/Hessian2ReuseTest.java b/java-8-test/src/test/java/com/alibaba/com/caucho/hessian/io/Hessian2ReuseTest.java
index 3110f62..d271824 100644
--- a/java-8-test/src/test/java/com/alibaba/com/caucho/hessian/io/Hessian2ReuseTest.java
+++ b/java-8-test/src/test/java/com/alibaba/com/caucho/hessian/io/Hessian2ReuseTest.java
@@ -116,6 +116,14 @@
     }
 
     @Test
+    public void testBaseNumber() throws IOException {
+        BaseNumber obj = new BaseNumber();
+        obj.setNumber(3.14f);
+        BaseNumber newObj = serializeAndDeserialize(obj, BaseNumber.class);
+        Assertions.assertEquals(obj.getNumber(), newObj.getNumber());
+    }
+
+    @Test
     public void testType() throws IOException {
         serializeAndDeserialize(Type.Lower, Type.class);
         serializeAndDeserialize(Type.Normal, Type.class);
diff --git a/java-8-test/src/test/java/com/alibaba/com/caucho/hessian/io/beans/BaseNumber.java b/java-8-test/src/test/java/com/alibaba/com/caucho/hessian/io/beans/BaseNumber.java
new file mode 100644
index 0000000..dba6478
--- /dev/null
+++ b/java-8-test/src/test/java/com/alibaba/com/caucho/hessian/io/beans/BaseNumber.java
@@ -0,0 +1,15 @@
+package com.alibaba.com.caucho.hessian.io.beans;
+
+import java.io.Serializable;
+
+public class BaseNumber implements Serializable {
+
+    private float number;
+    public float getNumber() {
+        return number;
+    }
+
+    public void setNumber(float number) {
+        this.number = number;
+    }
+}