作者:可可1994棒_241 | 来源:互联网 | 2023-05-22 15:29
在InteliJ中调试Java期间,变量名中的美元符号是什么意思?是关闭吗?请查看下面的图片和代码段。
这是Stream类的一部分:
public final Listener listen(final Handler action) {
return listen_(Node.NULL, new TransactionHandler() {
public void run(Transaction trans2, A a) {
action.run(a);
}
});
}
我怀疑$1
in Stream$1@915
指的是在上述方法中创建的闭包。我不确定。有人可以确认吗?或如果不是这种情况,请说明在此生成的名称中美元符号的含义是什么?
该代码取自Sodium Functional Reactive库,我正在尝试了解其工作原理。
1> Amir Afghani..:
它是对此闭包(如构造)生成的匿名内部类的引用。通常,将编译内部类,并且类文件名将为yourClassName$yourInnerClassName
。在使用匿名内部类声明的情况下,由于您没有显式命名它,因此它将显示为使用数字生成的名称。也许这篇文章会有所帮助?