首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

java回调机制的施用

2012-10-20 
java回调机制的使用?? 学习过Hibernate和Spring等童鞋,经常见到的一个回调机制。如下:package com.easyway.

java回调机制的使用

?? 学习过Hibernate和Spring等童鞋,经常见到的一个回调机制。

如下:

package com.easyway.commons.ispace.dev.collection;/** * 对象比较的回调接口 * @author longgangbai * */public interface Predicate{    public abstract boolean evaluate(Object obj);}下面是以下回调的方法:/**   * 集合过滤的方法   * @param collection 过滤的集合   * @param predicate 过滤的条件   */  @SuppressWarnings("unchecked")  public static void filter(Collection collection, Predicate predicate)  {      if(collection != null && predicate != null)      {          for(Iterator iterator = collection.iterator(); iterator.hasNext();)          {              Object obj = iterator.next();              if(!predicate.evaluate(obj))                  iterator.remove();          }      }  }  @SuppressWarnings("unchecked")  public static Object find(Collection collection, Predicate predicate)  {      if(collection != null && predicate != null)      {          for(Iterator iterator = collection.iterator(); iterator.hasNext();)          {              Object obj = iterator.next();              if(predicate.evaluate(obj))                  return obj;          }      }      return null;  }   /**    * 从集合中查询符合给定条件的对象集合    * @param collection    集合对象    * @param predicate  回调方法    * @return    */   @SuppressWarnings("unchecked")   public static Collection select(Collection collection, Predicate predicate)   {       ArrayList arraylist = new ArrayList(collection.size());       select(collection, predicate, ((Collection) (arraylist)));       return arraylist;   }  /**      * 从集合中查询符合给定条件的对象集合   * @param collection    集合对象   * @param predicate  回调方法   * @param collection1 存储符合条件集合的Collection对象   */   @SuppressWarnings("unchecked")   public static void select(Collection collection, Predicate predicate, Collection collection1)   {       if(collection != null && predicate != null)       {           for(Iterator iterator = collection.iterator(); iterator.hasNext();)           {               Object obj = iterator.next();               if(predicate.evaluate(obj))                   collection1.add(obj);           }       }   }

?

热点排行