【问题标题】:Pass method's parameters to another method within?将方法的参数传递给内部的另一个方法?
【发布时间】:2012-02-23 19:03:56
【问题描述】:

我有以下代码:

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    // Do stuff
}

我希望能够做到这一点:

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    someMethod(sameParameters);
}

我该怎么做?可以举个例子吗?

【问题讨论】:

  • 您的问题到底是什么?你试过什么?

标签: java multithreading methods parameters arguments


【解决方案1】:

不是你想要的,但就是这样:

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    someMethod(sender, cmd, commandLabel, args);
}

【讨论】:

  • 没有更好的方法,OP。
【解决方案2】:

执行此操作的明显方法是简单地将所有接收到的参数作为参数传递。也就是说,

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    someMethod(sender, cmd, commandLabel, args);
}

【讨论】:

  • +1 这是显而易见的方式,除非OP提供更多背景,否则这没有明显问题。
【解决方案3】:

variadicWikipedia 方法可能看起来更好:

void foo(Object... params) {
    // access like params[0], for example
    delegateFoo(params);
}

void delegateFoo(Object... params) {
    // params[0] is same as above
}

【讨论】:

    猜你喜欢
    • 2016-12-21
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多