使用varargs将Params传递给方法

时间:2015-07-31 02:43:08

标签: java parameters variadic-functions

我正在尝试运行一些基准测试。我需要将一个Task和params传递给这个方法。

基准(Callable task,Params params)。

我的代码如下

     List<String> params = new ArrayList<String>();
     params.add("-a publish");
     params.add("-t hello/world");
     params.add("-m \"Hello MQTT World\"");
     params.add("-s 2");
     params.add("-b localhost");
     params.add("-p 1883");
     params.add("-i JavaSample");

    System.out.println("MQTT Test: " + Benchmark(task, Object... params);

但Eclipse正在报告这些错误

令牌“...”上的语法错误,。预期 params无法解析或不是字段

我想过把

  

-a publish -t hello / world -m“Hello MQTT World”-s 2 -b localhost -p 1883 -i JavaSample

进入run配置参数,将它们传递给main,但是带有

  

Benchmark(task,Object ... args)

Eclipse仍会报告相同的错误。

1 个答案:

答案 0 :(得分:1)

Benchmark(task, Object... params)

你在方法调用中声明了varargs。要调用方法你应该传递参数.Varargs是方法声明的一部分而不是方法调用。

BenchMark("task", new Object(), new Object());