簡體   English   中英

幕后發生了什么?

[英]What is happening behind the scenes?

我遇到了以下代碼,需要對此代碼進行一些說明。

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");
            }
        }
    }

我的問題是:由於哈希集用於比較值,因此幕后發生了什么? 哈希集是否在其中存儲表的數據? 如果是,那么我可以在另一個程序中使用該值,並在控制台中打印出來嗎?

我不確定發生了什么,請解釋一下。

謝謝。

粘貼代碼的目的只是為了檢查用戶是否沒有給出投影中表中不存在的列。 沒有針對指定表進行查詢,也沒有提取數據。 這僅是有效性檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM