项目是做通讯的,使用的是Spring + Struts1.2 +DAO.这样。
我的  I××DAO层如下:
public interface ICardDAO 
{
public List CardQuery(String sql) throws Exception;

public boolean CardExec(String ...sql) throws Exception;
}DAO层如下:
public class CardDAO extends JdbcDaoSupport implements ICardDAO 
{ public boolean CardExec(String ...sql) throws Exception 
{
for(String s : sql)
{
if(!s.equals(""))
{
this.getJdbcTemplate().update(s);
}
}
return true;
} public List CardQuery(String sql) throws Exception 
{
return this.getJdbcTemplate().queryForList(sql);
}}
问题:(String ...sql)为啥这样写啊?  还有这个for(String s : sql) 是干嘛的,怎么还有冒号呢?

解决方案 »

  1.   

    问题2: for(String s : sql)
    {
    if(!s.equals(""))
    看到没?if后面括号里还有个小叹号,然后跟s.equals(""))   这是啥意思啊?
      

  2.   

    String s : sql 是5.0之后的循环用法!表示否,例如!true就是false,  s.equals("")返回的是true或false,加个!再反一下;
      

  3.   

    String ...sql  表示不定长参数. 
    调用的时候可能是 CardExec(sql1) 或 CardExec(sql1,sql2) 或 CardExec(sql1,sql2,sql3)
    类推.
    for(String s : sql) 就是循环啦. 取得sql1,sql2,sql3....if(!s.equals("")) 就是s不等于""啦, 这个不至于不懂吧