学习过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);
}
}
}
分享到:
相关推荐
Java、Android 中常用的回调机制
给初学者的java回调demo,有了这篇demo,朋友们能更好地了解java的回调机制,也能手动debug。
使用一个小例子解释Java回调/代理机制的项目压缩包
前几天看了一下Spring的部分源码,发现回调机制被大量使用,觉得有必要把Java回调机制的理解归纳总结一下,以方便在研究类似于Spring源码这样的代码时能更加得心应手。 注:本文不想扯很多拗口的话来充场面,我的...
最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,本文介绍了Java的回调机制,有兴趣的同学可以了解一下。
模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;...回调是异步的基本,因此下面着重说回调机制。
通过java下的代码实例和android下自定义的按钮功能详细的解释了回调机制以及回调的作用与意义
主要介绍了java 回调机制的实例详解的相关资料,希望通过本文的示例能帮助到大家理解使用回调机制,需要的朋友可以参考下
两个经典例子让你彻底理解java回调机制(csdn)————程序
Java异步回调机制实例解析共5页.pdf.zip
当然,即使开头的关于回调的英文概念被翻译成了中文,不少人仍觉得难以理解简单来说,回调就是 A 类调用 B 类中的 X 方法,B 类中的 X 方法执行过程中反过来
第1章. 故事的缘起幼师在黑板上写一个式子 “1 + 1 = ”,由小明同学来填空。由于已经学习了10以内的加法,小明同学可以完全靠自己来计算这个题目,模拟该过
主要介绍了Java 异步回调机制实例解析的相关资料,需要的朋友可以参考下
一个Callback的小示例
说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。经过半个世纪的发展,内存的动态分配与内存回收技术已经相当成熟,一切看起来都进入了“自动化”时代,那为什么我们还要去...
主要介绍了java调用回调机制详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了Java的回调机制,结合实例形式详细分析了java回调机制相关原理、用法及操作注意事项,需要的朋友可以参考下
主要介绍了java回调机制实例详解的相关资料,需要的朋友可以参考下