3.3. 自定义格式化函数

需要实现Format接口

  1. public class DateFormat implements Format{
  2. public Object format(Object data, String pattern){
  3. if (data == null)
  4. return null;
  5. if (Date.class.isAssignableFrom(data.getClass())){
  6. SimpleDateFormat sdf = null;
  7. if (pattern == null){
  8. sdf = new SimpleDateFormat();
  9. }else{
  10. sdf = new SimpleDateFormat(pattern);
  11. }
  12. return sdf.format((Date) data);
  13. }else{
  14. throw new RuntimeException("Arg Error:Type should be Date");
  15. }
  16. }
  17. }

data 参数表示需要格式化的对象,pattern表示格式化模式,开发时候需要考虑pattern为null的情况

也可以实现ContextFormat 类抽象方法,从而得到Context,获取外的格式化信息。

  1. public abstract Object format(Object data,String pattern,Context ctx);