1. 程式人生 > >JAVA泛型的應用,太好使了

JAVA泛型的應用,太好使了

@Override
	public int insertBatch(List<SCT> list,String filename) {
		int result=0;
		try{
			if(list.size()>0){
				Object obj=list.get(0); 
				if(obj *instanceof* ScCredTmTxnHst){
					result=*scCredTmTxnHstMapper*.insertBatch(list);
				} else if(obj instanceof ScCredTmTxnHst2  ){
					esult=*scCredTmTxnHst2Mapper*.insertBatch(list);
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}else if(obj instanceof xxx){
					
				}
			}
		}catch(Exception ex){
			List<ScProblemRecordPojo> recordList =new ArrayList<ScProblemRecordPojo>();
			ScProblemRecordPojo pojo=null;
			logger.error("捕捉插入資料的異常資訊,插入到record表做記錄",ex.getMessage());
			String ymdHms=DateUtils.formatDate(new Date(), DateUtils.YMDHMS);
			String ymd=DateUtils.formatDate(new Date(),DateUtils.YYYYMMDD);
			int i=0;
			//此處要捕捉異常
			for(SCT sct:list){
				i++;
				String record=sct.toString();
				pojo=new ScProblemRecordPojo(record, ymd, ymdHms, filename, ((Integer)i).toString());
				recordList.add(pojo);
			}
			this.scProblemRecordService.insertBatch(recordList);
		}
		return result;
	}
	
public class SCT {

}


 * 卡交易資訊歷史表
 * @date   2018年9月10日08:41:55
 * @author 
 *
 */
public class ScCredTmTxnHst extends SCT{

}

 * 卡交易資訊歷史表2
 * @date   2018年9月10日08:41:55
 * @author 
 *
 */
public class ScCredTmTxnHst2  extends SCT{

}

java的泛型實在是太好用了。

比如 有一個動物的基類 叫 Animal

他下面有 Dog ,有Cat ,有 Mirror

但是我邏輯裡面要,實現這三個動物的都有的同一個方法,比如:

eat();

怎麼再一個方法裡面實現三個方法呢。

當然就是泛型,見程式碼塊的例子。