public List convertToValueDetails() {
resetDetails() ;
List list = new ArrayList();
if (this.getHeTorokuKbn().equals("1")) {
if (!this.getDeTokubaiTiku01().equals("")) {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
ist.add(vo);
}
if (!this.getDeTokubaiTiku02().equals("")) {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
list.add(vo);
}
if (!this.getDeTokubaiTiku03().equals("")) {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
list.add(vo);
}
if (!this.getDeTokubaiTiku04().equals("")) {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
list.add(vo);
}
if (!this.getDeTokubaiTiku05().equals("")) {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
list.add(vo);
}
return list; }这段代码中IF语句都有this.getDeTokubaiTiku10()其中共同的是this.getDeTokubaiTiku+数字
能不能用一个循环变量I来取代其中的数字。这样省去了很多代码了。高手说下。
resetDetails() ;
List list = new ArrayList();
if (this.getHeTorokuKbn().equals("1")) {
if (!this.getDeTokubaiTiku01().equals("")) {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
ist.add(vo);
}
if (!this.getDeTokubaiTiku02().equals("")) {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
list.add(vo);
}
if (!this.getDeTokubaiTiku03().equals("")) {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
list.add(vo);
}
if (!this.getDeTokubaiTiku04().equals("")) {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
list.add(vo);
}
if (!this.getDeTokubaiTiku05().equals("")) {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
list.add(vo);
}
return list; }这段代码中IF语句都有this.getDeTokubaiTiku10()其中共同的是this.getDeTokubaiTiku+数字
能不能用一个循环变量I来取代其中的数字。这样省去了很多代码了。高手说下。
解决方案 »
- 今天做一道题时发现的问题
- invokespecial 和 invokespecial 的区别
- 请教一个swing显示图片问题
- 在JDialog里边设置JTextField焦点问题,大家帮忙想想,问题解决立刻结帖
- SWT,如何在日文系统下实现中文的正常显示
- 关于异常类的声明,看看下面这段代码,实现简单的计算功能!
- 急!急!急!大虾们来帮忙啊!JBoss的问题......
- 有关native调用的问题
- 关于log4j的configuration文件写法???
- 在玩Socket时,遇到的一个错误;EOFException
- 有两个疑惑的问题,请高手解答,在线等!
- 为什么在windown 2000 (server)不能够安装jdk1。5 呀
能不能用一个循环变量I来取代其中的数字
-------------------------------------
这用反射就可以作到
显然重复的是:
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
ist.add(vo);
把它提取出来做为单独的函数,然后再调用
List list = new ArrayList();if (!getHeTorokuKbn().equals("1")) return;if (!getDeTokubaiTiku01().equals("")) list.add(getValueObj());
if (!getDeTokubaiTiku02().equals("")) list.add(getValueObj());
if (!getDeTokubaiTiku03().equals("")) list.add(getValueObj());
if (!getDeTokubaiTiku04().equals("")) list.add(getValueObj());
if (!getDeTokubaiTiku05().equals("")) list.add(getValueObj());return list;
}private PP1101TRANValueObject getValueObject() {
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));
vo.setDbHojin(null);// 法人コード
vo.setDbSzkJigyosyo(null);// 所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);// 最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);// 括り№return vo;
} /// @.@||~
List list = new ArrayList();if (!getHeTorokuKbn().equals("1")) return;在此有个小错误,当不等于1时,return new ArrayList();
@.@||~
"不好意思这是固定的不能重写方法只能在这里面放着"
可我不明白的是,你可以将多个方法通过反射进行操作,却不能重构方法?难道通过反射就不是修改代码了吗?而且将代码提炼出来以private访问权限放入class中,不会产生任何副作用,难道日本人这都不允许?我和日本人合作的项目没有夸张到这个地步啊?@.@||~
resetDetails() ;
List list = new ArrayList();
if (this.getHeTorokuKbn().equals("1")) {
Class c = 你的这个类名.class;
for(int i=1;i<=5;i++){
String methodName = "getDeTokubaiTiku0" + i;
Method e = c.getDeclaredMethod(methodName,new Class[0]);
String temp = e.invoke(new 你的这个类名(),new Object[0]);
if(!temp.equals(""))
{ PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);// 法人コード
vo.setDbSzkJigyosyo(null);// 所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);// 最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);// 括り№
ist.add(vo);
}
}
}
return list; }
我的方法有参数要怎么传参数啊。????在线等待。
我的方法有参数要怎么传参数啊。????在线等待。
谁能告诉我啊。他写的那个方法中假如有String类型的参数。。怎么办??
PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);//法人コード
vo.setDbSzkJigyosyo(null);//所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);//最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);//括り№
ist.add(vo);
}
this.getHeTorokuKbn().equals("1")难道不知道 "1".equals(this.getHeTorokuKbn())???
你这个代码很好吗?
你的代码不符合我的方法。我有个COUNT
resetDetails() ;
List list = new ArrayList();
if (this.getHeTorokuKbn().equals("1")) {
Class c = 你的这个类名.class;
Class partypes[] = new Class[1];
partypes[0] = String.class;
for(int i=1;i<=5;i++){
String methodName = "getDeTokubaiTiku0" + i;
Method e = c.getDeclaredMethod(methodName,partypes);
Object arglist[] = new Object[1];
arglist[0] = new String("ss");
String temp = e.invoke(new 你的这个类名(),arglist);
if(!temp.equals(""))
{ PP1101TRANValueObject vo = new PP1101TRANValueObject();
vo.setDbKikakuNo(EditStringPositionAndBlank.editRightZero(this.getHeKikakuNo(), 8));// 企画№
vo.setDbHojin(null);// 法人コード
vo.setDbSzkJigyosyo(null);// 所属事業所コード
vo.setDbNewDate(this.getFoNewDate()); // 最新更新日
vo.setDbNewAddress(null);// 最新更新アドレス
vo.setDbNewKousinsya(this.getFoNewKousinsya());// 最新更新者
vo.setDbOldKousinsya(this.getFoOldKousinsya());// 初回登録者
vo.setDbOldDate(this.getFoOldDate());// 初回登録日
vo.setDbNewKousinsyanm(this.getFoNewKousinsyanm());// 最新更新者名漢字
vo.setDbOldKousinsyanm(this.getFoOldKousinsyanm());// 初回登録者名漢字
vo.setDbTokubaiTiku(this.getDeTokubaiTiku01().substring(0, 3));// 特売地区
vo.setDbEdaban(this.getDeTokubaiTiku01().substring(3, 5));// 枝番
vo.setDbTokubaiTikunm(this.getDeTkTikinm01());// 販売地区・括り№名称
vo.setDbKukurino(null);// 括り№
ist.add(vo);
}
}
}
return list;}
这样就可以传String参数了
* @param args
*/
public static void main(String[] args) {
ReflectTest test = new ReflectTest();
try {
Class c = test.getClass();
for (int i = 1; i <= 4; i++) {
Method m = c.getMethod("method" + i, null);
m.invoke(test, null);
} Method m5 = c.getMethod("method5", new Class[] { Integer.TYPE, String.class });
m5.invoke(test, new Object[] { new Integer(1), "hai" }); } catch (Throwable e) {
System.err.println(e);
}
} public void method1() {
System.out.println("This is method one");
} public void method2() {
System.out.println("This is method two");
} public void method3() {
System.out.println("This is method three");
} public void method4() {
System.out.println("This is method four");
} public void method5(int arg1, String arg2) {
System.out.println("This is method five. arg1 == " + arg1 + " arg2 == " + arg2);
}}正如楼上whyxx(不知道该取个什么名字)所说,这会降低效率。