gpt4 book ai didi

java - 从 Java 对象中获取值

转载 作者:行者123 更新时间:2023-11-30 07:12:22 26 4
gpt4 key购买 nike

我有这个对象将用于存储连接凭证:

public static class NewAgentObj
{

private String hostName;
private int port;
private String userName;
private String passwd;

public static NewAgentObj newInstance()
{
return new NewAgentObj();
}

public NewAgentObj()
{

}

/**
* An easier way to set a new value or optional arguments are provided when create a new instance. Can be used as alternative to set method
*
* @param hostName
* @return
*/
public NewAgentObj hostName(String hostName)
{
this.hostName = hostName;
return this;
}

/**
*
* @param port
* @return
*/
public NewAgentObj port(int port)
{
this.port = port;
return this;
}

/**
*
* @param userName
* @return
*/
public NewAgentObj userName(String userName)
{
this.userName = userName;
return this;
}

/**
*
* @param passwd
* @return
*/
public NewAgentObj passwd(String passwd)
{
this.passwd = passwd;
return this;
}

public String getHostName()
{
return hostName;
}

public int getPort()
{
return port;
}

public String getUserName()
{
return userName;
}

public String getPasswd()
{
return passwd;
}

}

我使用这段代码来插入值:

NewAgentObj ob = NewAgentObj.newInstance().hostName(filed.getText());

但是当我尝试将数据放入另一个 Java 类时,我使用以下代码:

NewAgentObj ob = NewAgentObj.newInstance();

Label finalFieldAgentName = new Label(ob.getHostName());

我得到空值。你能告诉我如何从 Java 对象中获取值(value)吗?

最佳答案

Singleton 的全部意义在于它存储对象的静态实例,因此它可以在多个类中重用。显然,如果每次调用 getInstance() 时都创建了一个 new 对象,那么您将永远无法保存数据;它几乎立即被丢弃。

要创建单例,请持有对实际实例的引用。

private static NewAgentObj instance; //your static, reusable instance

public static NewAgentObj newInstance(){
if (instance == null){
instance = new NewAgentObj(); //only create the Object if it doesn't exist
}
return instance;

为了清楚起见,我将此方法重命名为 getInstance() 以更准确地传达其目的。

同时请记住,您能够将对象作为参数传递给构造函数/方法,因此不需要单例模式。

关于java - 从 Java 对象中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20446489/

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