字符串数组:'从'i ++'改变的值永远不会被使用'

Nit*_*hin 4 java

这是我的代码:

String[] queries = new String[2];
int i = 0;
Boolean result;
queries[i++] = "<query 1>";
queries[i++] = "<query 2>"; //Warning shown here
result = dbOpenHelper.ExecuteMyTransaction(queries);
Run Code Online (Sandbox Code Playgroud)

第二个i++突出显示,并显示警告''i ++'中的值从未使用过'.这段代码被写了另外一个人,据我所知,这里<query 1><query 2>会被分配给queries[1]queries[2]分别,但后来它必须显示一个错误,因为数组的大小为2,没有错误的,善良的这混淆了我对这里发生了什么.我可以安全地删除第二个作业,或将第一个作业更改为queries[i]

Mar*_*ski 8

代码是正确的,你可以安全地忽略这个警告或i++用just 下划线替换i.

这个警告只是表明由于i在该范围内没有进一步使用变量,因此增加或不增加它的值不会产生任何影响,而且毫无意义.

  • 是.`i ++`表示后增量,这意味着首先获取并使用`i`值,然后递增.如果你想在使用前增加它,那么应该使用`++ i`(预增量). (3认同)

Nil*_*hod 6

i ++表示后增量,这意味着首先获取并使用i值,然后递增.

你的代码是正确的你可以忽略这个警告,并尝试下面的代码来摆脱这个警告

String[] queries = new String[2];
int i = 0;
Boolean result;
queries[i++] = "<query 1>";
queries[i] = "<query 2>"; //change this here
result = dbOpenHelper.ExecuteMyTransaction(queries);
Run Code Online (Sandbox Code Playgroud)