您的位置:首页 > 其它

RecordFilter类过滤自定义数据的方法

2010-03-22 13:27 302 查看
平时使用RecordFilter过滤的时候,我一般会这样写

String name;
	
         public MyFilter(String name){
		this.name = name ;
	}
	
	public boolean matches(byte[] arg0) {
		String str = new String(arg0);
		if(str.equals(name) )    
		{    
			return true;    
		}else{    
			return false;  
		}
	}


这样,在过滤的时候,就可以查到需要的数据。但是前两天遇到这样一个问题。我自己自定义了几个数据,其中有ID,还有其他的一些编号。如何区分这些编号呢?首先想到的事在其他编号前面加入“/”,因为由于RMS存储的格式是字节流,所以以字符串方式存进去,就可以避免上述问题。但是考虑到服务器的数据传到前台,不能因为我一个人的原因就改变数据格式。所以,程序中我做了如下调整,当把自定义数据的属性数目传进来,这样,我只取ID的值,其他均返回false,就可以解决这个问题了。

]	String name;
	int size;
	int num ;
	public MyFilter(String name){
		this.name = name ;
		this.size = 1 ;
		this.num = 0 ;
	}
	public MyFilter(String name ,int size){ 
		this.name = name ;
		this.size = size ;
		this.num = 0 ;
	}
	
	public boolean matches(byte[] arg0) {
		num ++ ;
		if(num != size) return false;
		num = 0;
		String str = new String(arg0); 
		if(str.equals(name) )    
		{    
			return true;    
		}else{    
			return false;  
		}
	}




2010-03-22
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐