我想使用java泛型进行插入命令。基本上,我想让我的addrow()函数类型安全并可用于不同的表。可能吗?SQLite用泛型创建插入语句(Java + SQLite4Java)
这里是我当前的Java代码:
public <T extends List<D>, D extends Number> boolean addRow(T rowData) throws SQLiteException {
int index = 0;
for (D element : rowData) {
addRowStatement.bind(index++, element); // element must have a type part and value part
}
return addRowStatement.step();
}
哪里addRowStatement的类型是SQLiteStatement,并从我的理解,一个可以保持绑定的物品吧。
ArrayList T中的数据将是字节,整数或这样的一些原语。我的代码处理这个。我只是想优雅地绑定所有的数据(不管有多少东西要绑定)并执行这些语句。
具体而言,错误是bind()方法不知道如何处理“D”泛型 - 即使D泛型会变成int或byte或其他东西。
嗯,我认为我有一种预感。我试着,D扩展Number>但是我仍然需要指定bind()方法D的类型是什么...但是我感觉我变暖了 –
2013-03-01 01:51:13