Что означает новая строка [] {"0"}? - PullRequest
0 голосов
/ 31 октября 2018

Я обнаружил, что вызов метода OrdersCursorToList () принимает курсор в качестве параметра и возвращает объект вызова модели Orders

 List<Orders> Orderss = OrdersCursorToList(mContext.getContentResolver().query(CONTENT_URI,
            null,
            COLUMN_ORDER_IS_CONFIRMED + " = ? AND "
          + COLUMN_USER_ID + " = ?",
            new String[]{"0"},
            COLUMN_ORDER_ID));

Так в чем же смысл new String [] {"0"}

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

В запросе вы можете добавить несколько условий, чтобы получить только те строки, которые вам нужны. В вашем примере у вас есть:

COLUMN_USER_ID + " = ?",
new String[]{"0"},

query метод заменит каждый символ "?" параметром выбора, указанным в следующем массиве строк (в вашем примере массив строк new String[] {"0"}).

Обратите внимание, что вы фильтруете строки только по COLUMN_USER_ID. Поскольку у вас есть только одно условие выбора, вы должны предоставить массив только с одним элементом. В этом смысл new String[] {"0"}.

Эта строка создает и создает экземпляр массива только с одним элементом. Этот элемент "0". Это то же самое:

String [] selectionArgument = new String[1];
selectionArgument[0] = "0";

Этот параметр является массивом String, потому что вы можете иметь столько условий, сколько хотите ... Итак, если вы хотите использовать два условия, вам нужно передать массив строк с двумя элементами. Что-то вроде:

COLUMN_USER_ID + " = ?" + " AND " + COLUMN_USER_AGE + " > ? ",
new String[]{"0", "18"},

Обратите внимание, что в этом примере у вас есть два "?" символа в качестве критерия выбора. Таким образом, строковый массив также должен быть массивом с двумя элементами: "0" и "18".

0 голосов
/ 31 октября 2018

new String []{"0"} - это строковый массив-литерал с одним элементом: ["0"]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...