【问题标题】:Passing number of parameters vs passing map, which is better while writing a method?传递参数个数和传递map,写方法哪个更好?
【发布时间】:2018-11-12 22:16:17
【问题描述】:

在编写方法时,用多个参数调用方法或创建 Map 并将其作为 1 个参数传递更好。

【问题讨论】:

    标签: java jakarta-ee collections hashmap


    【解决方案1】:

    您也可以考虑使用带有构建器的参数类。

    myMethod(MyArgument.newBuilder().withFirstArg("arg1").build());
    
    • 冗长乏味
    • 您可以安全地避免使用拼写错误的地图
    • 您可以强制和可选参数
    • 您的方法更简洁,因为它直接访问方法,而不必检查映射是否包含密钥

    或者,您可以尝试使用流畅的界面。

    myMethod("arg1").invokeWith("arg2").anotherOne("arg3").andOneMore("arg4").andTheLastOne("arg5");
    

    【讨论】:

      【解决方案2】:

      如果您的方法需要

      • 动态数量的参数(例如,基于用户输入的参数),那么 Map 是一个很好的解决方案
      • 固定数量的参数并且其中有很多(例如超过 5 个),那么这可能意味着它做的太多,应该分成几个方法

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-13
        • 2018-11-13
        • 1970-01-01
        • 1970-01-01
        • 2010-11-12
        • 2019-03-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多