operator'+'不能应用于java.lang.string

Muh*_*bad -3 java android

catch (IOException e) {
    Log.e(TAG, "Error Loading ", + nextImageName, e);
} 
Run Code Online (Sandbox Code Playgroud)

上面的代码生成错误消息:

"operator '+' cannot be applied to java.lang.string"
Run Code Online (Sandbox Code Playgroud)

我是一名自学者,在发布此处之前,我在其他地方搜索了此错误消息.我看过这条线但是无法理解错误信息,我很难过.

Sar*_*tal 6

就像这样写:

Log.e(TAG, "Error Loading " + nextImageName, e);
Run Code Online (Sandbox Code Playgroud)


T.J*_*der 5

operator'+'不能应用于java.lang.string

你看到这个错误的原因是因为这里有逗号:

Log.e(TAG, "Error Loading ", + nextImageName,e);
// ------------------------^
Run Code Online (Sandbox Code Playgroud)

... +正在启动一个新的表达式,因此它是一元运算 +("一元"运算符是只接受一个操作数的运算符),而不是二元+运算符(一个带两个操作数的运算符),在该上下文中是字符串连接运算符.一元运算+符与更为知名的一元运算符相对应,-它取消了一个数字,并且-只能用于可以提升为数值的类型.

二进制 +可应用于字符串,但一元+不能.

删除逗号使其成为二进制+(在这种情况下为字符串连接),它可以工作.