說明:這里每個case里的函式功能都一樣(vo物件轉成物體物件,根據主鍵洗掉,再插入資料),只是操作的表不同
問:這個case要怎么封裝?

封裝成這樣:
switch(param){
case xxx: func(param1,param2);break;
case yyy:func(param3,param4);break;
}
求各位大佬解答!!
uj5u.com熱心網友回復:
把程式塊寫入方法里,case里直接呼叫該方法。
uj5u.com熱心網友回復:
他們操作的是不同的表,只是操作邏輯是一樣的。操作的物件都不同。怎么封裝起來?uj5u.com熱心網友回復:
操作物件作為方法的傳入引數
uj5u.com熱心網友回復:
形參用Object嘛?引數傳進來之后用instance of 一個一個去判斷是什么型別嘛?判斷完之后再去操作?外面就有個switch 里面自己寫的函式又一個一個去判斷,總感覺不怎么好
uj5u.com熱心網友回復:
可以把這幾個物件關聯的表名和物件名放在一個map里面,在方法里面拿么.既然你要封裝方法,那么要么傳參進去方法之前做一下判斷,要么在方法里面做判斷.個人認為在方法里面做判斷更好一點.這樣重復代碼會降低吧uj5u.com熱心網友回復:
case里面物件轉換是不同的 只有后面的兩步相同
case "xx":{
AsGx... asGc = con....(vo);
doSomething(asGc);
break;
}
case "xxx":{
AsGx... asGc = con....(vo);
doSomething(asGc);
break;
}
case "xxxx":{
AsGx... asGc = con....(vo);
doSomething(asGc);
break;
}
....
public void doSomething (AsGc... asGc){
delete.....(asGc);
result += ........insert(asGc);
}
uj5u.com熱心網友回復:
你要封裝,在轉化物體前就要生成泛型介面,用介面來實作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/34347.html
標籤:Java相關
