java 根据每个分组个数,分解数组.

	//每组数据的个数
	private static final int  everyGroupNum=9;
	
	public static StringBuffer getIn() {
		//123,234,345,456,567,678,789
		String patientAllId="123,234,345,456,567,678,789,8910,91011,101112";
		String patientid="";
		StringBuffer buffer=new StringBuffer();
		if(ElaneUtil.isNotEmpty(patientAllId)){
			String[] array=patientAllId.split(",");
			//数组总长度
			int len=array.length;
			//分组数
			int groupCount=len/everyGroupNum;
			for(int k=0;k<groupCount;k++){
				patientid="";
				for(int i=(k*everyGroupNum);i<(k*everyGroupNum+everyGroupNum);i++){
			    	if(i==k*everyGroupNum){
			    		//每组的第一个数组
			    		patientid="'"+array[i].trim()+"'";
			    	}else{
			    		patientid=patientid+","+"'"+array[i].trim()+"'";
			    	}
				}
				buffer.append(" and in("+patientid+")");
			}
			if(len%everyGroupNum != 0){
				//未整除
				patientid="";
				//处理最后一组数据
				for(int j=(groupCount*everyGroupNum);j<len;j++){
			    	if(j==groupCount*everyGroupNum){
			    		//每组的第一个数组
			    		patientid="'"+array[j].trim()+"'";
			    	}else{
			    		patientid=patientid+","+"'"+array[j].trim()+"'";
			    	}
				}
				buffer.append(" and in("+patientid+")");
			}
		}
		return buffer;
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值