我能够为我的类实现运算符覆盖,但我无法以任何方式为 String 实现它。为什么?
static void main(String[] args) {
String.metaClass.plus = {
r -> return "-";
}
print "left" + "right"
}
//I tried and so:
static void main(String[] args) {
String.metaClass.plus = {
r -> return "-".toString();
}
print "left".toString() + "right".toString()
}
更新。
我设法达到了预期的结果。我刚刚将 String 类型添加到匿名函数参数中。
//Old - non-working version.
String.metaClass.plus = {
r -> "-";
}
//New - working version.
String.metaClass.plus = {
String r -> "-";
}
问题还是一样,为什么旧版本不起作用而新版本起作用?在我正在观看的课程中,一切正常,ChatGPT 也说一切都应该正常。