读书人

java .什么意思啊该如何处理

发布时间: 2012-04-28 11:49:53 作者: rapoo

java ....什么意思啊
Integer ... ids

public void deleteall(Integer ... ids) {
if (ids.length > 0) {
StringBuffer sb = new StringBuffer();
for (Integer id : ids) {
sb.append("?").append(",");
sb.deleteCharAt(ids.length);
}
SQLiteDatabase data = db.getWritableDatabase();
data.execSQL("delete from coursetime where id in(" + sb.toString() + ")", (Object[])ids);
data.close();
}

}


----------------
请问这里的Integer ... ids 是什么东东呀

[解决办法]
ids 是个Integer 数组把
[解决办法]
这个是java JDK1.5的新特性,叫做 可变参数。
处理那参数就是处理数组一样
这参数可以为0个或多个这类型的参数对象
[解决办法]
是自动打包自动解包吧就是会自动转成int
[解决办法]

探讨
这个是java JDK1.5的新特性,叫做 可变参数。
处理那参数就是处理数组一样
这参数可以为0个或多个这类型的参数对象

[解决办法]
java JDK1.5的新特性,叫做 可变参数
简单说就是,你使用这个方法时,不管传入的数组的长度是多少,都可以调用这个方法。
[解决办法]
JDK1.5之后的可变参数,由于JDK1.5之前都是用数组来表示,为了兼容JDK1.5之前的版本,可变参数内部还是会采用数组的形式来进行处理。
[解决办法]
Integer ... ids表示实参可以是可变的列表,比如
Java code
public static void main(String[] args) {        fun(1,2);        fun(1,2,3);    }        public static void fun(Integer... str){        System.out.println(str.length);    }
[解决办法]
public void deleteall(Integer ... ids) {
}
相当于
public void deleteall(Integer id1,Integer id2,Integer id3){
}
其中(Integer id1,Integer id2,Integer id3)这些参数个数是可变的,你这个方法如果执行deleteall(1,2)则表示删除id为1和2两条记录,如果执行(3,4,5)则表示删除id为3、4和5这三条记录,里面的参数个数可以使很多个的。
[解决办法]
public static void deleteall(Integer ... ids){
String s="";
for(Integer id:ids){
s+=id+",";
}
if(!s.equals(""))
s=s.substring(0, s.lastIndexOf(","));
String sql="delete from table where id in ("+s+")";
....
}

[解决办法]
上面的方法就是你所要的操作了
[解决办法]
增强型for循环

读书人网 >J2EE开发

热点推荐