该类无法继承最终类SQLiteStatement无法扩展。
这与java不支持扩展方法的事实一起带来了我。 似乎没有任何流畅的方法来为该类做扩展。
我没有时间编写和测试包装类SQLiteStatement的类。我因此问这里是否有一个值得信赖的包装类?
我现在所做的是一个带有方法的类,我将对SQLiteStatement的引用和我想要添加到SQLiteStatement的值发送,但这并不像扩展类那样顺利。
答案 0 :(得分:1)
由于缺乏更好的替代品,或者如果没有其他人回答我的问题,这将是我的解决方案。
这是一个类的开头,其中包含了迄今为止的方法,以避免重复的null检查语句等。
public class SQLiteStatementExtension {
public static void BindNullable(SQLiteStatement statement, int index, String value)
{
if(value == null){
statement.bindNull(index);
} else {
statement.bindString(index, value);
}
}
public static void BindNullable(SQLiteStatement statement, int index, Calendar value)
{
if(value == null){
statement.bindNull(index);
} else {
statement.bindLong(index, value.getTimeInMillis());
}
}
public static void BindNullable(SQLiteStatement statement, int index, byte[] value)
{
if(value == null){
statement.bindNull(index);
} else {
statement.bindBlob(index, value);
}
}
public static void Bind(SQLiteStatement satement, int index, boolean value) {
satement.bindLong(index, value ? 1 : 0);
}
}