我想将一个长字符串存储到android的sqlite中。 我把它写成sqlite:
String content = bodytext.toString();
byte[] contentByte = content.getBytes();
Log.d("bytetoString",new String(contentByte));
String sql1 = "insert into content(id,content) values( '" + messageID
+ "','" + contentByte + "');";
db.execSQL(sql1);
我读了它:
String sql = "select * from content where id='" + messageID + "'";
Cursor temp = db.rawQuery(sql, null);
if (temp.moveToNext()) {
byte[] contentByte = temp.getBlob(temp.getColumnIndex("content"));
String sb = new String(contentByte);
Log.d("String",sb);
temp.close();
return sb;
}
然而,当我打印我刚读过的字符串时。它打印出类似“[B @ 41431930 ??”有什么问题吗?
答案 0 :(得分:3)
它是一个数组,toString()只打印内存地址。这就是你看到[B@41431930??
如果您想要可读值,请使用java.util.Arrays.toString(contentByte)