InaccountDao类中的自定义方法delete 方法
发表在Android图书答疑 2017-08-01 317页-0页
是否精华
版块置顶:
public void delete(Integer... ids) {
      if(ids.length>0){
      StringBuffer sb = new StringBuffer();
      for(int i = 0;i< ids.length;i++){
      sb.append('?').append(',');
      }
   sb.deleteCharAt(sb.length()-1 );
   db.execSQL("delete from tb_inaccount where id in("+sb+")",
               (Object[]) ids);
      }
   }
问题:
1.第一行代码:Integer...ids这个是什么语法(中间有省略号),
ids是个集合的名字,还是数组的名字,看起来两者都不象,
但从它的使用来看的确是    
用到了两者的功能。
2."delete from tb_inaccount where _id in (" + sb + ")",
这个好象那两个加号总是怪怪的,是不是应该去掉?
在数据库中操作时的它的sql语名应该象这样:
select from tb_inaccount where _id in (1,25,36);
根本不需要这两个加号
   
3.ids的问题,强转还可以直接转成Object[]数组吗,
以前只知道类的强转,原来数组也可以?


2017-08-01 16:11:55编辑
分享到:
精彩评论 2
ITmens
学分:601 LV6
TA的每日心情
假期加油中
2018-08-03 21:31:23
2017-08-01
沙发

1、动态参数,方法可以传一个或多个Integer类型的参数。

2、查看下sql语句写法。

3、可以强转成Object[]数据

三生石
学分:2171 LV10
TA的每日心情
11
2018-12-20 21:21:04
2017-08-01
板凳

您好读者!

问题1:语法为java使用省略号代替多参数(参数类型... 参数名),可以去网上查一下。

问题2:sb是对象,+号是为了字符串连接所使用的不可以去掉。

问题3:数组可以强制转换类型。


首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照