new String [] {“ 0”}是什么意思?

时间:2018-10-31 20:06:51

标签: java android sqlite

我发现一个调用OrdersCursorToList()的方法以游标作为参数并返回Model调用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));

新字符串[] {“ 0”}

的含义是什么?

2 个答案:

答案 0 :(得分:2)

new String []{"0"}是一个字符串数组文字,其中包含一个元素:["0"]

答案 1 :(得分:2)

在查询中,您可以添加多个条件,以便仅获取所需的行。在您的示例中,您具有:

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"