创建新实例时,java String变为null

时间:2015-03-11 05:40:24

标签: java string null

我在以下代码中长期坚持这个问题 基本上,当创建对象的新实例时,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值 任何帮助将不胜感激。

1 个答案:

答案 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,除非你没有设置任何值。