我在以下代码中长期坚持这个问题
基本上,当创建对象的新实例时,String
变为null
例如,
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
//Yahoo Weather Code London
setCitySelected("44418");
System.out.println(new CityChange().getCitySelected()); // print null
// System.out.println(getCitySelected()) print 44418
}
});
有没有办法解决这个问题?因为我必须在另一个类中调用getCitySelected()
,它会像上面一样返回null
值
任何帮助将不胜感激。
答案 0 :(得分:1)
首先我不知道setCitySelected("44418")
方法的范围。如果此方法位于CityChange
对象中,则首先使用您设置的实例创建此类的new
实例并获取值。
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
CityChange cc = new CityChange()
cc.setCitySelected("44418");
System.out.println(cc.getCitySelected()); // should print 44418
}
});
Basically, the String becomes null when a new instance of an object is created.
每当你创建一个类的新对象时,对象中的所有值都将为null,除非你没有设置任何值。