gpt4 book ai didi

java - 如何将当前方法的参数放入列表中

转载 作者:行者123 更新时间:2023-12-01 08:15:54 24 4
gpt4 key购买 nike

我有两种方法,例如

public void login(String userName, String password)
{

}

public void login(String userName, String password, Object loginOption)
{

}

我希望以某种方法解决所有这些问题:

public boolean getThingsDone(Object...vargs)
{
//Do The Real Action
return true;
}

所以我必须进行不同的函数调用:

public void login(String userName, String password)
{
getThingsDone(userName,password);
}

public void login(String userName, String password, Object loginOption)
{
getThingsDone(userName,password,loginOption);
}

有什么方法可以将不同的参数放入一个列表中,这样我就可以进行相同的调用

getThingsDone(parameterList);

我不知道,但是将这两个方法都声明为login(String ...vargs),但这会让其他使用此方法的人感到困惑。

有人遇到过这个问题吗?任何提示将不胜感激。

最佳答案

您可以创建一个具有三个属性的 Login 类:- 用户名、密码、loginOption

public class Login {
private String username;
private String password;
private Object loginOptions;

// Constructors
// public accessors.
}

并在您的登录方法中将 Login 引用作为参数传递:-

public void login(Login login) {

}

因此,如果您想传递loginOptions,请像这样调用它:-

login(new Login(username, password, loginOptions));

否则,只需使用 Login 类的 2 参数化构造函数:-

login(new Login(username, password));

并从登录方法中调用其他方法,如下所示:-

getThingsDone(login);

现在在该方法中,检查: - if (login.getLoginOptions() != null)。如果为null,则进行用户名密码相关的操作。如果不为空,则执行与所有这些相关的操作。

关于java - 如何将当前方法的参数放入列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13392875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com