小白一个,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)));