Java getter和setter方法的问题

Java getter和setter方法的问题,java,android,setter,getter,serializable,Java,Android,Setter,Getter,Serializable,您好,我正在使用SAX开发googlenewsreader应用程序,这里我使用getters和setters方法获取数据但我有一个问题,我可以将值添加到setters方法中,但无法进入getters方法,我不知道哪里出错了,请告诉我哪里出错了 public class Item implements Serializable { private String title; private String description; private String link; private Stri

您好,我正在使用
SAX
开发
googlenewsreader
应用程序,这里我使用
getters
setter
s方法获取数据
但我有一个问题,我可以将值添加到
setters
方法中,但无法进入
getters
方法,我不知道哪里出错了,请告诉我哪里出错了

public class Item implements Serializable {

private String title;
private String description;
private String link;
private String date;

public Item() {
    setTitle(null);
    setDescription(null);
    setLink(null);
    setDate(null);
}

public String getTitle() {
    System.out.println(" value of the Gettitle ===============> "+ title);
    return title;
}

public void setTitle(String title) {
    this.title = title;
    System.out.println("value of the settitle =============>"+this.title);
}

输出到Logcat:

 value of the settitle =============>Oracle CEO Ellison to Buy Most of Hawaiian Island Lanai - Bloomberg

 value of the Gettitle ===============> null

这里我得到了
item.getTitle()的值。length()
为null

编辑:


Item项=新项();
对于(int i=0;i
我强烈怀疑您调用了
getTitle()
Item
实例与您调用的
setTitle()
实例不同:

Item item1 = new Item();
item1.setTitle("foo");

// Some other code

Item item2 = new Item();
String title = item2.getTitle(); // This will return null

如果使用两个不同的对象来设置和获取,可能会发生这种情况。检查是否在同一对象上调用
setter
getter

编辑

用于设置标题的对象,即
item.setTitle(content.toString())
与在
for
循环之前创建的
对象不同。在
for
循环之前使用
item item=new item()
重新创建/重新初始化
item
对象。创建一个全局
对象并只创建一次。

试试这个

public class Item implements Serializable {

private String title;
private String description;
private String link;
private String date;

public Item() {
    setTitle(null);
    setDescription(null);
    setLink(null);
    setDate(null);
}

public String getTitle() {
    System.out.println(" value of the Gettitle ===============> "+ title);
    return title;
}

public void setTitle(String title) {
    this.title = title;
    System.out.println("value of the settitle =============>"+this.title);
}

public static void main(String[] args) {

 Item i = new Item();
 i.setTitle("War-Craft");

  i.getTitle();
}
}

请尝试检查您正在设置和获取的实例。

以及如何调用getter和setter,请将代码发布到构造函数中,如果setters&getter或任何方法是可重写的,则不应调用它们。您是否可以将赋值发布到set method我已编辑过请检查它。根据此,您将得到空指针异常………@iozee当@jon已发布其答案时,我碰巧编写了答案。它确实发生了。我想这算不上什么大罪。我对getTitle()和SetTitle()都有相同的对象。请检查我编辑的代码。这一行
Item Item=new Item()
就在
for
循环的上方如何?我对getTitle()和SetTitle()都有相同的对象。请检查我编辑的代码。@RahulPatel:不,你没有-在你使用
getTitle()
的代码中,你已经事先得到了
Item Item=new Item()
,就像我的回答一样。检查循环条件(int i=0;iItem.getTitle())在刚创建的项目上,因此没有标题。换句话说,不是您以前在上调用的项目。
Item item1 = new Item();
item1.setTitle("foo");

// Some other code

Item item2 = new Item();
String title = item2.getTitle(); // This will return null
public class Item implements Serializable {

private String title;
private String description;
private String link;
private String date;

public Item() {
    setTitle(null);
    setDescription(null);
    setLink(null);
    setDate(null);
}

public String getTitle() {
    System.out.println(" value of the Gettitle ===============> "+ title);
    return title;
}

public void setTitle(String title) {
    this.title = title;
    System.out.println("value of the settitle =============>"+this.title);
}

public static void main(String[] args) {

 Item i = new Item();
 i.setTitle("War-Craft");

  i.getTitle();
}
}