Java 如何用int值填充布尔集合方法
我有一个set方法setSelected(),它需要一个布尔值。SQLite无法存储布尔值,因此我决定将其设置为整数,并将布尔值转换为int:Java 如何用int值填充布尔集合方法,java,android,sqlite,Java,Android,Sqlite,我有一个set方法setSelected(),它需要一个布尔值。SQLite无法存储布尔值,因此我决定将其设置为整数,并将布尔值转换为int: values.put(COLUMN_SELECTED, (member.isSelected()) ? 1 : 0 ); 这已经对我起作用了。但现在我想再次设置该值,但如何将int传递给需要布尔值的方法: member.setSelected(cursor.getColumnIndex(COLUMN_SELECTED)); 错误->成员中的设置选择(
values.put(COLUMN_SELECTED, (member.isSelected()) ? 1 : 0 );
这已经对我起作用了。但现在我想再次设置该值,但如何将int传递给需要布尔值的方法:
member.setSelected(cursor.getColumnIndex(COLUMN_SELECTED));
错误->成员中的设置选择(布尔值)不能应用于(int)
ContentValues
支持布尔值,并在写入数据库时自动转换为0
/1
要将数字转换为布尔值,只需将其与零进行比较:
car.setSelected(cursor.getColumnIndex(COLUMN_SELECTED)!=0);
Do,car.setSelected(cursor.getColumnIndex(COLUMN_SELECTED)==1)
对int使用相同的条件运算符
或者干脆
car.setSelected(cursor.getColumnIndex(COLUMN_SELECTED)==1 ); // true or false
@KevinEsche
重载
??为什么在这里?@sᴜʀᴇsʜᴀᴛᴛᴀ 这是不必要的,但是如果要在代码中的多个位置使用它,就不必重写相同的比较。
car.setSelected(cursor.getColumnIndex(COLUMN_SELECTED)==1 ); // true or false