在增强型交换机的情况下不执行任何操作
我有以下增强的 switch 情况
@Override
public MultivaluedMap<String, String> update(MultivaluedMap<String, String> incomingHeaders,
MultivaluedMap<String, String> clientOutgoingHeaders) {
switch (authMethod) {
case BASIC -> clientOutgoingHeaders.add("Authorization", basicAuth("admin", "admin"));
case BEARER -> clientOutgoingHeaders.add("Authorization", "Bearer" + " " + getAccessTokenFromKeycloak());
case SKIP -> System.out.println(); // How can I remove this?
}
return clientOutgoingHeaders;
}
,其中 authMethod
是
enum AuthMethod{
BASIC,
BEARER,
SKIP
}
If authMethod
is SKIP
我只是希望代码不执行任何操作。我不想删除这个案例。
我知道,我可以通过其他不同的方式解决这个问题,但我很好奇这是否适用于增强型交换机。
我也知道,我可以删除 SKIP
案例。这根本不是我想要的,因为我想澄清的是,在这种情况下 SKIP 不会执行任何操作。
这是我尝试过的,
case SKIP -> {};
case SKIP -> ();
在增强的 switch 语句的情况下,我怎样才能不执行任何操作?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这太接近了!
你只是多了一个分号!删除它并编译!
请参阅 SwitchRule 的语法rel="noreferrer">Java 语言规范:
请注意,如果它是一个表达式(例如
add
调用),则在其后面需要一个分号。如果您使用块,例如{}
,则不应添加分号。This is so close!
You just had one extra semicolon! Remove it and it compiles!
See the syntax for a
SwitchRule
in the Java Language Specification:Notice how, if it is an expression, like your
add
calls, you need a semicolon after it. If you use a block, like{}
, you should not add a semicolon.