本文整理汇总了Java中org.nutz.lang.Mirror.isNumber方法的典型用法代码示例。如果您正苦于以下问题:Java Mirror.isNumber方法的具体用法?Java Mirror.isNumber怎么用?Java Mirror.isNumber使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.nutz.lang.Mirror
的用法示例。
在下文中一共展示了Mirror.isNumber方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: render
import org.nutz.lang.Mirror; //导入方法依赖的package包/类
public void render(Object obj) throws IOException {
if (null == obj) {
writer.write("null");
} else if (obj instanceof JsonRender) {
((JsonRender) obj).render(null);
} else if (obj instanceof Class) {
string2Json(((Class<?>) obj).getName());
} else if (obj instanceof Mirror) {
string2Json(((Mirror<?>) obj).getType().getName());
} else {
Mirror mr = Mirror.me(obj.getClass());
// 枚举
if (mr.isEnum()) {
string2Json(((Enum) obj).name());
}
// 数字,布尔等
else if (mr.isNumber()) {
String tmp = obj.toString();
if (tmp.equals("NaN")) {
// TODO 怎样才能应用上JsonFormat中是否忽略控制呢?
// 因为此时已经写入了key:
writer.write("null");
}
else
writer.write(tmp);
}
else if (mr.isBoolean()) {
writer.append(obj.toString());
}
// 字符串
else if (mr.isStringLike() || mr.isChar()) {
string2Json(obj.toString());
}
// 日期时间
else if (mr.isDateTimeLike()) {
boolean flag = true;
if (obj instanceof Date) {
DateFormat df = format.getDateFormat();
if (df != null) {
string2Json(df.format((Date)obj));
flag = false;
}
}
if (flag)
string2Json(format.getCastors().castToString(obj));
}
// 其他
else {
// Map
if (obj instanceof Map) {
map2Json((Map) obj);
}
// 集合
else if (obj instanceof Collection) {
coll2Json((Collection) obj);
}
// 数组
else if (obj.getClass().isArray()) {
array2Json(obj);
}
// 普通 Java 对象
else {
memo.add(obj);
pojo2Json(obj);
memo.remove(obj);
}
}
}
}
示例2: parse
import org.nutz.lang.Mirror; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
public Object parse(Object obj) {
if (null == obj) {
return null;
} else if (obj instanceof ObjCompileImpl) {
return ((ObjCompileImpl) obj).parse(null);
} else if (obj instanceof Class) {
return obj;
} else if (obj instanceof Mirror) {
return ((Mirror<?>) obj).getType().getName();
} else {
Mirror mr = Mirror.me(obj.getClass());
// 枚举
if (mr.isEnum()) {
return obj;
}
// 数字,布尔等
else if (mr.isNumber() || mr.isBoolean()) {
return obj;
}
// 字符串
else if (mr.isStringLike() || mr.isChar()) {
return obj;
}
// 日期时间
else if (mr.isDateTimeLike()) {
return obj;
}
// 其他
else {
// 既然到了这里, 那么断定它只有List, Array, Map, Object这4种类型
// 是否已经存在(循环引用)
if (memo.containsKey(obj)) {
return memo.get(obj);
} else {
// 这里使用了一个小小的占坑技巧,
if (obj instanceof Collection || obj.getClass().isArray()) {
List<Object> list = new ArrayList<Object>();
memo.put(obj, list);
// 集合
if (obj instanceof Collection) {
return coll2Json((Collection) obj, list);
}
// 数组
return array2Json(obj, list);
} else {
Map<String, Object> map = new LinkedHashMap<String, Object>();
memo.put(obj, map);
// Map
if (obj instanceof Map) {
return map2Json((Map) obj, map);
}
// 普通 Java 对象
return pojo2Json(obj, map);
}
}
}
}
}