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

传递一个数组和其他东西到var args

秦俊
2023-03-14

我在一个流畅的API上调用一个库方法,它需要一个字符串的变量。当我调用它时,我总是传递至少三个字符串,然后根据情况再传递几个。

可以有一个最终的静态数组或其他东西来捕获总是传递的三个字符串?

共有2个答案

毛缪文
2023-03-14

这里有一个想法:

static final String[] RESERVED = {"A", "B", "C"};

...

libMethod(Stream.concat(Arrays.stream(RESERVED), Stream.of("D")).toArray(String[]::new));
糜帅
2023-03-14

也许是这样的:

public class Overloaded {

  private static final String[] CONST_ARR = {"1", "2", "3"};

  public static void main(String[] args) {
    Overloaded o = new Overloaded();

    o.withConstantStrings();

    String[] a = {"1", "2"};

    o.withAdditionalStrings(a);
  }

  public void withConstantStrings() {
    libraryVarArgsCode(CONST_ARR);
  }

  public void withAdditionalStrings(String... additional) {
    String[] join = new String[additional.length + CONST_ARR.length];

    System.arraycopy(CONST_ARR, 0, join, 0, CONST_ARR.length);
    System.arraycopy(additional, 0, join, CONST_ARR.length, additional.length);

    libraryVarArgsCode(join);
  }

  public void libraryVarArgsCode(String... args) {
    // librabry code here
  }
}
 类似资料:
  • Item Command Files generated Component: ng g component [name] component, HTML, CSS, test spec files Directive: ng g directive [name] component, test spec files Pipe: ng g pipe [name] component, test s

  • 问题内容: 我有一个选择查询,我试图在字符串中搜索多个模式 返回零结果 然而 返回结果并 返回结果 是否可以将我所有的结果合并为一个查询?如果一个字符串匹配两者,它将如何处理? 问题答案: 如果可以的话,这会很好,但是您不能在SQL中使用该语法。 试试这个: 注意使用括号!您需要在表达式周围使用它们。 如果没有括号,它将被解析为,不会为您带来预期的结果。

  • 我觉得我在逃避。我得到这个错误: 无法完成安装,因为找不到一个或多个必需的项目。正在安装的软件:Android 开发工具 20.0.0.v201206242043-391819 (com.android.ide.eclipse.adt.feature.group 20.0.0.v201206242043-391819) 缺少要求:Android 开发工具 20.0.0.v201206242043-

  • 问题内容: 我已经在这里阅读了很多帖子并在网上冲浪,但是也许我没有问正确的问题。我知道在集群可用之前,Redis目前是主/从服务器。但是,我想知道是否有人可以告诉我如何在逻辑上配置Redis以满足我的需要(或者如果它不是正确的工具)。 场景: 我们在美国的两端有2个站点。我们希望客户能够在每个站点上大量书写。然后,我们希望每个客户端也能够在其站点上执行读取。但是,我们希望在小于50ms的时间内从姐

  • 问题内容: 我想将多个值从一个servlet传递到另一个servlet。请告诉我如何通过? 问题答案: 取决于您是否使用会话: 使用session.setAttribute()将数组存储在会话变量中。 使用session.getAttribute();检索数组。 但是,变量将一直保留到会话终止,您用其他东西覆盖它或将其删除为止。 如果将一个servlet转发到另一个servlet,则可以将其存储在

  • 这个问题基本上是不言自明的。我还没有找到一个数组的应用编程接口(除了这个数组,但这只是定义了一堆用于处理实际数组的静态助手函数)。如果没有它的类,这似乎表明数组不可能是一个。 然而,数组有公共字段,比如,以及它可以调用的方法,比如和似乎(非常强烈地)表明了完全相反的观点。 原语数组的奇怪表示和行为的解释是什么? 注意,我刚才试图在数组的方法上使用“开放实现”Eclipse特性,希望我能够看看这个方