catch (IOException e) {
Log.e(TAG, "Error Loading ", + nextImageName, e);
}
以上代码会生成错误消息:
"operator '+' cannot be applied to java.lang.string"
我是一名自学者,在发布此处之前,我在其他地方搜索了此错误消息。我看过这条线,但无法理解错误信息,我很难过。
答案 0 :(得分:6)
就这样写:
Log.e(TAG, "Error Loading " + nextImageName, e);
答案 1 :(得分:5)
运营商' +'不能应用于java.lang.string
您之所以看到该错误的原因是因为此处有逗号:
Log.e(TAG, "Error Loading ", + nextImageName,e);
// ------------------------^
... +
正在开始一个新表达式,因此它是unary +
operator(一个"一元"运算符是一个只占一个操作数的运算符),而不是二进制+
运算符(带有两个操作数的运算符),在该上下文中将是string concatenation operator。一元+
运算符与更为人熟知的一元-
相对应,它会否定一个数字,而且-
只能与可以提升为的类型一起使用数值。
二进制 +
可以应用于字符串,但是一元+
不能。
删除逗号使其成为二进制+
(在这种情况下为字符串连接),它可以正常工作。