分类:
2008-09-10 09:59:14
RMS提供的遍历类RecordEnumeration,构造函数原型如下:Public RecordEnumeration enumerateRecords (RecordFilter filter, RecordComparator comparator, boolean keepUpdated)
第一个参数是RecordFilter,它就是用来筛选数据库中的纪录的,筛选的条件就是我们需要定义的方法,boolean matches(byte[] data),如果不指定就不筛选。
第二个参数是RecordComparator,它是对选择出来的数据进行排序的,如果你不指定的话就按照默认的顺序排序。
第三个参数是boolean类型的,如果是true的话,那么record会跟踪rms中的数据变化,这是比较昂贵的开销,我一般都是用false的。
一般来说,用最简单的即可:RecordEnumeration enumerateRecords(null, null, false);RMS中遍历RecordEnumeration经常用到,其中接口RecordFilter经常用,RecordComparator也会用到,但不多,现分别小结如下:
一、接口RecordFilter的使用
在 enumerateRecords 方法中,fifter为过滤参数,需要自己定义一个继承RecordFilter接口的过滤类,在类里面定义需要过滤的条件。RecordFilter接口只有一个需要实现的接口函数,函数原型如下:public boolean matches (byte[] candidate)
实现一个 RecordFilter 接口的过滤类的基本结构如下:
例:创建一个查找匹配字符“Hello”记录的MyFilter类的具体代码如下:
具体使用MyFilter类的代码如下:
[1]