return--返回值 以你之姓@ 2022-05-19 10:50 209阅读 0赞 1、return语句的作用:a、返回一个值,这个值可以是任意类型。b、使程序返回到操作系统(即终止程序) 2、java中对于一个函数,不论有没有返回值类型,都可以带有return 语句。 但是区别在于,return 语句是否可以返回一个值(这取决与该函数的返回值类型)。 a、如果函数有返回值类型(即返回值类型不为void ),则必须带有返回相应类型值的return 语句。 b、如果函数没有返回值(即返回值类型为void ),则函数中return 语句(如果存在return语句!)的后面不能加任何的变量。(该情况下的函数中也可以没有return 语句,但是如果有的话,return 只能作为返回操作系统的作用使用。) 每个函数必须要有返回值么,为什么需要返回值,返回值是干什么的? 不是每个函数都必须要返回值,返回值其实就是参数,可以把他当做函数里的一个参数,就像SQL语句里的子查询一样,只不过是在里面做好了查询,返回的只是一个参数而已,因为需要这个参数才能进行下面的程序,所以说返回值看情况需不需要写,有需要就写,没有需要就不写。 public Json AbnormalMaintenance(String ids, String tStatus, String year, HttpSession session) { Json j = new Json(); if(StringUtils.isBlank(ids)) { j.setSuccess(false); j.setMsg("id不能为空"); } if(StringUtils.isBlank(year)) { j.setSuccess(false); j.setMsg("学年不能为空"); } //去除id的双引号 ids = ids.replace(SysCode.STRING.DOUBLE_QUOTION_MARKS, StringUtils.EMPTY); if(StringUtils.isBlank(ids)) { j.setSuccess(false); j.setMsg("id不能为空"); } SessionInfo sessionInfo = (SessionInfo)session.getAttribute(Contans.SESSION_BEAN); List<RoleInf> roleInfs = sessionInfo.getOperInf().getRoleInfs(); RoleInf roleInf = null; if (null != roleInfs && roleInfs.size() > 0) { roleInf = roleInfs.get(0); } if (roleInf.getRoleCd().equals(adminRoleConfig.getSchoolAdminRole())) { String news = teacherService.abnormalMaintenance(ids, tStatus, year); j.setSuccess(true); j.setMsg(news); } else { j.setSuccess(false); j.setMsg("教师异常维护功能仅限于园管使用"); } return j; } public String abnormalMaintenance(String ids, String tStatus, String checkYear) { String news = new String(); String[] nids = ids.split(","); String year = getCurrentYear(); int success = 0; int error = 0; for (int i = 0; i < nids.length; i++) { DfTeacher oldDfteacher = getById(DfTeacher.class, nids[i]); //勾选的信息为审核通过,进行维护 if ("3".equals(oldDfteacher.getAuditStateCode())) { //勾选的 老师的当前学年等于当前学年,进行维护 if (checkYear.equals(oldDfteacher.getYear())) { oldDfteacher.setTStatus(tStatus); oldDfteacher.setIsInterim("1"); oldDfteacher.setAuditStateCode("3");//修改审批状态code oldDfteacher.setAuditState("审核通过");//审核状态为审核通过 oldDfteacher.setAuditNode(3); update(oldDfteacher); success++; } else { DfTeacher teacher = new DfTeacher(); //判断当前学年 有没有这个人,如果有不操作 boolean exist = isExistTeacher(oldDfteacher.getSchoolId(), oldDfteacher.getCardCategory(), year, oldDfteacher.getIdCard(), StringUtils.EMPTY); if (exist) { error++; } else { String[] sonArray = new String[] {"dfDiplomas", "dfWorks", "dfWages", "dfEngages", "dfOverseas", "dfCertificates", "dfTrains", "dfLearns", "dfLearnBests", "dfProfessions", "dfChecks", "dfTeacherClasses", "dfHonor", "dfPager", "dfPageward", "dfPunish", "dfReward", "dfTopic", "dfResearch"}; BeanUtils.copyProperties(oldDfteacher, teacher, sonArray); teacher.setTStatus(tStatus); teacher.setIsInterim("0"); teacher.setAuditStateCode("3");//修改审批状态标识 teacher.setAuditState("审核通过");//审核状态为审核通过 oldDfteacher.setAuditNode(3); save(teacher); //设置状态 sonArraySave(oldDfteacher, teacher); success++; } } } } if(error != 0) { news = "成功维护" + success + "条信息,当前学年存在数据,不能维护" + error + "条" ; }else { news = "成功维护" + success + "条信息" ; } return news; } 就像上面一样,子函数abnormalMaintenance返回的就是news,也是一条信息,因为我需要这条信息打印到页面,所以就返回这条信息,母函数AbnormalMaintenance则用String news接受一下就可以了,最后返回给页面的是这条信息。
还没有评论,来说两句吧...