我的获取和设置返回null 我认为我的Set方法缺少一些东西。
我的Authen.java:
public class Authen {
String sessionID;
public void setSessionID(String sessionID) {
this.sessionID = sessionID;
}
public String getSessionID(){
return this.sessionID;
}
}
我的设置方法:
String id="1234";
Authen at = new Authen();
at.setSessionID(id);
当我记录sID
时,我的Get方法返回nullAuthen at = new Authen();
String sID = at.getSessionID();
答案 0 :(得分:0)
您正在重新声明at
,这将删除您设置的任何值。
设置ID后,请勿创建新的Authen
对象
所以改变这个:
String id="1234";
Authen at = new Authen();
at.setSessionID(id);
Authen at = new Authen(); // This is where you create a new EMPTY authen
String sID = at.getSessionID();
为:
String id="1234";
Authen at = new Authen();
at.setSessionID(id);
String sID = at.getSessionID();
答案 1 :(得分:0)
你应该使用如下......
String id="1234";
Authen at = new Authen();
at.setSessionID(id);
String sID = at.getSessionID();
无需续订。
答案 2 :(得分:0)
您的sID为空的原因是,当您在第二次Authen at = new Authen();
声明'at'对象时,您'新'是一个全新的对象。
如果要正确获取sID,则无需再次初始化Authen。
只是做:
String id="1234";
Authen at = new Authen();
at.setSessionID(id);
String sID = at.getSessionID();
答案 3 :(得分:0)
如果需要,可以将Authen实例从A类转移到B(假设A类创建B的实例):
class A {
private void aMethod() {
String id="1234";
Authen at = new Authen();
at.setSessionID(id);
...
B b = new B(at);
}
}
class B {
private Authen authen;
public B(Authen at) {
this.authen = at;
...
}
private void anotherMethod() {
String sID = this.authen.getSessionID();
...
}
}
显然这段代码并不完整,只是为了展示主要想法 - 而且只是众多可能中的一种。