From b1d698efca51b3626c1f4f6a6d64ea5cbb64a6a4 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 17 Dec 2019 13:49:26 +0800 Subject: [PATCH] 1 --- XObject.java | 5 ++++ XValue.java | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 XObject.java diff --git a/XObject.java b/XObject.java new file mode 100644 index 0000000..36e8984 --- /dev/null +++ b/XObject.java @@ -0,0 +1,5 @@ +package a6; + +public class XObject { + +} diff --git a/XValue.java b/XValue.java index c9ba5cd..d42b5d9 100644 --- a/XValue.java +++ b/XValue.java @@ -2,4 +2,84 @@ package a6; public class XValue { + private Object value; + + XValue() + { + + } + + XValue(long val) { + set(val); + } + + XValue(double val) { + set(val); + } + + XValue(String val) { + set(val); + } + + public final void set(long val){ + value = val; + } + + public final void set(double val){ + value = val; + } + + public final void set(String val){ + value = val == null ? "" : val; + } + + public final void setUserData(Object val) { + value = val; + } + + public final void setNull() { + value = null; + } + + public final int getInt() { + return (int)getInt64(); + } + + public final long getInt64() { + if (value instanceof Long) { + return (Long)value; + } else if (value instanceof Double) { + return ((Double)value).longValue(); + } else if (value instanceof String) { + return Long.parseLong((String)value); + } + return 0; + } + + public final double getDouble() { + if (value instanceof Double) { + return (Double)value; + } else if (value instanceof Long) { + return (Long)value; + } else if (value instanceof String) { + return Double.parseDouble((String)value); + } + return 0; + } + + public final String getString() { + if (value instanceof String) { + return (String)value; + } else if (value instanceof Double) { + return ((Double)value).toString(); + } else if (value instanceof Long) { + return ((Long)value).toString(); + } + return ""; + } + + public final Object getUserData() { + return value; + } + }