qq_38181348
无聊望见了犹豫
2017-10-18 04:23

JDK1.8新特性代码如何用1.7来写

  • java
  • 工具类
  • jdk1.8

小白一个,JDK1.8的新增语法这些还不了解,正在学习
如下是一个转换工具类,用JDK1.7该如何写

 public static class Functions{
        /**yyyy-MM-dd**/
        public static final Function<Object, Object> DateFormat = (Object obj)->{
            if(obj!=null){
                try{
                    return new SimpleDateFormat("yyyy-MM-dd").format(obj);
                }catch(Exception e){
                    return null;
                }
            }
            return null;
        };
        /**yyyy-MM-dd HH:mm:ss**/
        public static final Function<Object, Object> DateTimeFormat = (Object obj)->{
            if(obj!=null){
                try{
                    return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(obj);
                }catch(Exception e){
                    return null;
                }
            }
            return null;
        };
        /**true:是,false:否**/
        public static final Function<Object, Object> BooleanDefault = (Object obj)->{
            if(Boolean.TRUE.equals(obj))
                return "是";
            else if(Boolean.FALSE.equals(obj))
                return "否";
            return null;
        };
    }

这是调用的代码片段。这里的((Function)v).apply又该如何写

 else if(v instanceof Function)
                    cell.put(keyName, ((Function<Object,Object>)v).apply(BeanUtils.getPropertyDescriptor(data.getClass(), fieldName).getReadMethod().invoke(data)));
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答