我遇到了以下代码,我需要对此代码进行一些说明。
http://www.vogella.com/articles/AndroidSQLite/article.html#contentprovider_overview
private void checkColumns(String[] projection) {
String[] available = { TodoTable.COLUMN_CATEGORY,
TodoTable.COLUMN_SUMMARY, TodoTable.COLUMN_DESCRIPTION,
TodoTable.COLUMN_ID };
if (projection != null) {
HashSet<String> requestedColumns = new HashSet<String>(
Arrays.asList(projection));
HashSet<String> availableColumns = new HashSet<String>(
Arrays.asList(available));
// Check if all columns which are requested are available
if (!availableColumns.containsAll(requestedColumns)) {
throw new IllegalArgumentException(
"Unknown columns in projection");
}
}
}
我的问题是:因为 hashset 用于比较幕后发生的值?hashset 中是否存储了表的数据?如果是,那么我可以在另一个程序中使用这个值并在控制台中打印出来吗?
我不确定发生了什么,请解释一下。
谢谢。