当前位置: 首页 > 知识库问答 >
问题:

Java交换机用例

松俊美
2023-03-14

我发现(在Java12之前)switch可能有用的唯一用例是从一小组封闭的用例中返回不同的值,例如:

    switch (input) {
    case "A":
        return "1";
    case "B":
        return "2";
    default:
        return "0";
    }

或者在Java12示例中:

return
switch(digitInDecimal){
    case  0 -> '0';
    case  1 -> '1';
    case  2 -> '2';
    default -> '?';

但我发现了一个古老但排名靠前的答案,它说要避免多个返回语句:

所以我想知道,由于开关的变化,这个答案仍然相关吗?

我必须等待Java 12在没有临时变量和中断的情况下可以使用switch吗?

共有1个答案

南宫兴德
2023-03-14

给局部变量赋值,然后在最后返回值被认为是一个很好的做法。

我不知道这是什么时候被认为是一个好的做法。对我来说,开关通常是*设计错误的指示器。我宁愿把精力放在思考如何避免切换上,也不想知道如何从切换中返回值。

几个例子

// 1
switch (input) {
    case "A":
        return "1";
    case "B":
        return "2";
    default:
        return "0";
}

// 2
String varibleToReturn = null;
switch (input) {
    case "A":
        varibleToReturn = "1";
        break;
    case "B":
        varibleToReturn = "2";
        break;
    default:
        varibleToReturn = "0";
}
return varibleToReturn;

// 3
return switch(digitInDecimal) {
    case  0 -> '0';
    case  1 -> '1';
    case  2 -> '2';
    default -> '?';
}

什么意思?不,截止日期是明天,你必须用你手头上的工作。

*我并没有低估Switch的用处。它可能会派上用场,例如,当您在低级编程时,或者您编写优化时。

我只是说,在现实世界中,有了Springs,有了Hibernates,在一个充满模式的世界中,switch已经过时了。

 类似资料:
  • 交换机类 mininet.node.Switch 表示一个交换机的基类。 运行在 root 名字空间。主要包括 dpid、listenport 等属性。 mininet.node.IVSSwitch 表示一台 indigo 交换机(需要系统中已存在)。 mininet.node.OVSLegacyKernelSwitch 传统的 openvswitch 交换机,基于 ovs-openflowd。不

  • 1)在JVM Java堆、Perm生成或本机堆中发生OutOfMemory时,操作系统会使用交换空间吗?还是本机堆中OutOfMemory使用交换空间? 2)本机堆大小在JVM上是不可配置的,因为OS会在运行时将可用的RAM分配给JVM? 3)我们如何为JVM启用交换空间,或者默认情况下为Unix和Windows级别的所有进程启用交换空间? 5)如何在Unix和WINDOWS操作系统中禁用交换空间

  • 介绍 本节介绍交换机的帧转发技术,MAC地址表的维护方式,三种帧转发模式,以及冲突域和广播域。 更多信息 帧转发: 网络及电信中的交换概念 以太网上的帧包含源MAC地址与目的MAC地址。交换机从源设备接收到帧并快速发往目的地址。交换的基本概念指基于以下两条准则做出决策的设备: 进入(ingress)端口 目的地址 术语ingress用于描述帧通过特定端口进入设备,egress用于描述设备通过特定端

  • 在数据采集一节中我们介绍了常见的监控数据源。open-falcon作为一个监控框架,可以去采集任何系统的监控指标数据,只要将监控数据组织为open-falcon规范的格式就OK了。 交换机设备的运行指标的采集,可以写脚本,通过SNMP协议来采集交换机的各项运行指标,包括内存占用、CPU使用、流量、ping延时等。 可以直接使用 swcollector 来实现对交换机设备的监控指标采集。 工作原理

  • 我有一个登录场景,当用户点击signin按钮,然后打开下一个活动,其中有一个列表。我是appium的新手,发现很难获得登录成功的验证。我没有用下面的成功 driver.switchto().window((String)driver.getwindowhandles().toarray()[windowIndex]); 请指导如何获得当前活动&移动到等待活动,这样我就可以验证对象的存在。

  • 在数据采集一节中我们介绍了常见的监控数据源。open-falcon作为一个监控框架,可以去采集任何系统的监控指标数据,只要将监控数据组织为open-falcon规范的格式就OK了。 交换机设备的运行指标的采集,可以写脚本,通过SNMP协议来采集交换机的各项运行指标,包括内存占用、CPU使用、流量、ping延时等。 可以直接使用 swcollector 来实现对交换机设备的监控指标采集。 工作原理