java多处返回问题

haoztao haoztao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

public boolean isWorkDay()
{
Connection connection = null;
Statement st = null;
ResultSet rs = null;
try
{
connection = JDBCHelperV2.getConnection();

String sql_workDay = sql_getHoliday;
sql_workDay = sql_workDay.replace("@type", "2");
rs = JDBCHelperV2.executeQuery(connection, sql_workDay);
while (rs.next())
{
return true;
}

String sql_holiday = sql_getHoliday;
sql_holiday = sql_holiday.replace("@type", "1");
rs = JDBCHelperV2.executeQuery(connection, sql_holiday);
while (rs.next())
{
return false;
}

rs = JDBCHelperV2.executeQuery(connection, sql_getDayOfWeek);
while (rs.next())
{
String temp = rs.getString("weekday");
if (temp.equals("7") || temp.equals("1"))
{
return false;
}
return true;
}
}
catch(SQLException sqle)
{
throw new RuntimeException(sqle);
}
catch(Exception e)
{
}
finally
{
try {if (null != rs) {st = rs.getStatement();rs.close();}} catch(SQLException e1) {logger.error("isWorkDay:e1" + e1);}
try {if (null != st) {st.close();}} catch(SQLException e3) {logger.error("isWorkDay:e1" + e3);}
try {if (null != connection) {connection.close();}} catch(SQLException e2) {logger.error("isWorkDay:e1" + e2);}
}
return false;
}


问题:当执行try {if (null != connection) {connection.close();}} catch(SQLException e2) {logger.error("isWorkDay:e1" + e2);}也就是关闭connection的时候回跳转到while (rs.next())
{
return true;
}或者
while (rs.next())
{
return false;
}
为啥会跳转到前面呢?如果我定义一个boolean值 依次赋值,最后返回该boolean值则可以按正确顺序走下去,请指点下啥原因吧,迷茫啊
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
haoztao
Web 开发 81,108 成员 341,721 内容