当前位置: 首页>>代码示例>>Java>>正文


Java Mirror.isNumber方法代码示例

本文整理汇总了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);
            }
        }
    }
}
 
开发者ID:cowthan,项目名称:JavaAyo,代码行数:70,代码来源:JsonRenderImpl.java

示例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);
                }
            }
        }
    }
}
 
开发者ID:cowthan,项目名称:JavaAyo,代码行数:60,代码来源:ObjCompileImpl.java


注:本文中的org.nutz.lang.Mirror.isNumber方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。