java类中方法中的参数过多如何处理

来源:互联网 发布:淘宝客服退换货汇总表 编辑:程序博客网 时间:2024/05/20 19:29

java类中方法中的参数过多如何处理 [问题点数:30分,结帖人nihao6154]

 收藏
java
这是方法
PHP code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
   @Override
    public List<ProjectInfo> getProjectListByQueryEx(ProjectInfo queryPrjInfo,
            List<ExtendPropertyInfo> queryExtendPropertyList, Boolean bSaveState, Date queryStartTime,
            Date queryEndTime, String currentUserID, int startIndex, int maxRecords) throws Exception
    {
        List<ProjectInfo> lstQueryPrj = new ArrayList<ProjectInfo>(); // 查询工程列表
        List<Project> lstPrj = this.queryProjectListByEx(queryPrjInfo, queryExtendPropertyList, bSaveState,
                queryStartTime, queryEndTime, ObjectCheckRelationTypes.checkAll, currentUserID, startIndex, maxRecords);
 
        // 转换成info对象
        for (Project prj : lstPrj)
        {
            ProjectInfo projectInfo = prj.toPojo();
            projectInfo.setProjectState(prj.getIsSaveProject());
            // 添加到列表
            lstQueryPrj.add(projectInfo);
        }
 
        return lstQueryPrj;
    }


方法里有8个参数,因为项目规范有规定方法中的参数不能超过7个,现在有8个了,各位大侠,如何处理?请求详细方法
发表于: 2014-04-24 14:47:10 楼主
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
回复次数:18
  • java类中方法中的参数过多如何处理
  • JAVA 中URL中文参数乱码的处理方法(汇总)
  • JAVA简单异常处理(main方法中的args[]命令行参数传入两个操作数)
  • C++的引用传递、指针传递参数在java中的相应处理方法
  • JAVA 中URL中文参数乱码的处理方法
  • android java 层参数重载glVertexAttribPointer 在es20 C 接口中的处理方法
  • JAVA 中URL中文参数乱码的处理方法
  • JAVA——URL链接中文参数乱码的若干处理方法
  • JAVA 中URL链接中文参数乱码的若干处理方法,现在整理收录如下:(抄录)
  • Java方法参数太多怎么办—Part8—使用工具
怎么写的,让一个方法带这么多参数,分开写不就好了嘛!多谢几个方法相互调用,参数就少了!
回复于: 2014-04-24 14:49:04#1 得分:0
对我有用[0] 丢个板砖[2] 引用 | 举报 | 管理
正常吧。或者你封装在一个里面。
回复于: 2014-04-24 14:49:46#2 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
把你的参数都封装到一个Map集合里,只传一个Map。
回复于: 2014-04-24 14:51:41#3 得分:0
对我有用[0] 丢个板砖[1] 引用 | 举报 | 管理
或者你把这些参数封装成一个bean!
回复于: 2014-04-24 14:53:41#4 得分:0
对我有用[0] 丢个板砖[1] 引用 | 举报 | 管理
这个queryProjectListByEx方法里用到的参数是否紧密关联,如果不是,那么就多写两个方法把参数分离开来获取你需要的值。
回复于: 2014-04-24 14:57:53#5 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
设计的问题   你是按照不同的字段进行查询吧   直接封装成一个对象就行
回复于: 2014-04-24 15:50:58#6 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
如何封装?我还在实习呢,这是别人写的代码,只是现在这个参数问题不符号规范,需要我改正,能麻烦写个例子么,我实在想不出来,哎
回复于: 2014-04-24 16:00:40#7 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
把参数放到map里不会吗?
回复于: 2014-04-24 16:07:27#8 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
Java code
?
1
2
3
4
5
6
7
8
9
10
package com.chinaedu.dao;
public class MeetingModel {
    private int mid;
    public int getMid() {
        return mid;
    }
    public void setMid(int mid) {
        this.mid = mid;
    }   
}

这就把mid封装到了meetmodel这个类中
Java code
?
1
2
3
4
5
6
7
8
9
    MeetingModel mm=new MeetingModel();
            public MeetingModel getMm() {
        return mm;
    }
 
    public void setMm(MeetingModel mm) {
        this.mm = mm;
    }
然后再调用mid时就是mm.getMid了
回复于: 2014-04-24 16:14:46#9 得分:30
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
你将所有的参数都封装到一个类,然后传参就只用传一个类名,比如我调用一个方法List list=resource.GetAllMeeting(mm,page),我就把mm传过去,然后在里面直接就可以写mm.getmid这个参数了
回复于: 2014-04-24 16:18:54#10 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
或者简单点你直接用一个map把参数放进去就好了
回复于: 2014-04-24 16:20:04#11 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
参数过多就用javaben呀!
这样还可以为一些参数指定默认值!
回复于: 2014-04-24 16:24:20#12 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
将参数放到一个map里直接传map到后台
回复于: 2014-04-24 16:41:40#13 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
都放到一个map里面不就好了
回复于: 2014-04-24 16:48:29#14 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
能举个例子不,麻烦你了
回复于: 2014-04-25 08:49:52#15 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
13楼的大侠能举个用map集合的例子不
回复于: 2014-04-25 08:51:39#16 得分:0
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
拼接成一个,到了 action 页再去把拆成 8 个。
回复于: 2014-04-25 11:50:25#17 得分:0
对我有用[0] 丢个板砖[1] 引用 | 举报 | 管理
Map 不可取啊!难于维护的东西。
Javabean倒是可行,但是太麻烦了……
至于前面说的"拆分成几个方法"我全都点x了,那些"只干一件事"的方法当然可以把参数写的很少
但是总要有一个方法来统筹协调,毕竟业务不可能"只干一件事",能删的参数早就删了,就是因为不能删才会方法参数过多的!
如果是Java8就好了哎,可以用函数式的方式隐式传参,就不用考虑那么多麻烦了
 
原创粉丝点击