OGNL 数値その2

他の型を取得してみる。


import ognl.*;
import java.util.*;

public class OgnlSample
{
public static void main(String[] args) throws Exception{
// 数値
String exp1 = "1B";
String exp2 = "9999999999h";
Object val1 = Ognl.getValue(exp1, (Object) null);
Object val2 = Ognl.getValue(exp2, (Object) null);
System.out.println(exp1 + ": " + dump(val1));
System.out.println(exp2 + ": " + dump(val2));
}

private static String dump(Object obj) {
StringBuffer buf = new StringBuffer();
buf.append(obj);

if(obj != null) {
buf.append("(" + obj.getClass().getName() + ")");
}

return buf.toString();
}
}

で、結果。

1B: 1(java.math.BigDecimal)
9999999999h: 9999999999(java.math.BigInteger)
数値はいろいろな型で取得できる…と。