在Java中,$("something")是什么意思?

3

我正在查看一些教程,偶然发现了这段代码:

public void run(String... args) throws Exception {
    eventBus.on($("quotes"), receiver);
    publisher.publishQuotes(NUMBER_OF_QUOTES);
}

这是我第一次在Java中看到$("quotes")。我希望有人能解释一下这是什么意思。
以下是源代码: https://github.com/spring-guides/deprecate-gs-messaging-reactor/blob/master/complete/src/main/java/hello/Application.java#L53 更新:
这不是关于$作为Java变量名的问题。我知道它是一个有效的变量名。但是,$("something")的格式看起来像JQuery;因此我认为它是一个特殊的指令或其他东西。

5
import static reactor.bus.selector.Selectors.$; - Elliott Frisch
1
变量名中的下划线 "_" 代表什么意思? - mwallner
$只是Selectors类的一个静态方法。阅读它的javadoc以了解它的功能。 - JB Nizet
抱歉,这是错误的链接,重复了https://dev59.com/Um435IYBdhLWcg3wmxTz - mwallner
1
@mwallner 这与Spring表达式语言(SpEL)无关。 - Andreas
显示剩余5条评论
2个回答

4

这只是调用名为$的静态导入方法:

import static reactor.bus.selector.Selectors.$;

这只是一个名字奇怪的普通方法。

'$'是标识符中有效的字符,符合Java Language Specification 3.8的规定。

"Java字母"包括大写和小写的ASCII拉丁字母A-Z(\u0041-\u005a)和a-z(\u0061-\u007a),以及出于历史原因,ASCII下划线(_,或\u005f)和美元符号($,或\u0024)。美元符号应仅用于机械生成的源代码或在传统系统上访问预先存在的名称时很少使用。


@maresa 类似于在方法中间作为普通源代码行的 http://www.example.com/index 行- 它只是一个标签 (http:) 后面跟着一个注释 (// ...)。 - user85421
引用显示该名称不适合作为函数名。 - Lew Bloch
@LewBloch 我不负责那个方法/包/库,问题的作者也不是我(我想)。 - user85421
我知道 $ 是合法的名称字符,但我猜它让我感到困惑是因为它使代码看起来像 JQuery。 - maresa

4

你有一个import static reactor.bus.selector.Selectors.$;

根据文档,这是一个简写别名,代表 object(T),该方法会创建一个基于给定对象的Selector


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接