a6/XValue.java
aozhiwei b1d698efca 1
2019-12-17 13:49:26 +08:00

86 lines
1.7 KiB
Java

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;
}
}