返回值而不修改

时间:2013-04-05 08:11:09

标签: java

我在我的应用中使用Setter getter方法。我的包含setter& getter的类是:

public class Product {

    private  ArrayList<Integer> id=new ArrayList<Integer>();

    public ArrayList<Integer> getId() {
        return id;
    }

    public void setId(ArrayList<Integer> id) {
        this.id = id;
    }
}

public class Check extends Activity {

    ArrayList<Integer> passedid=new ArrayList<Integer>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_checkout_page);

        Intent checkoutintent=getIntent();
        Intent shopcart=getIntent();

        Product prodobj=new Product();
        passedid=prodobj.getId();   

        new LongRunningGetIO().execute();   
    }
}

当我想对产品类的对象使用getId()方法时,它每次都返回null值。有没有办法返回存储在setId()方法中的id值。谢谢提前。

1 个答案:

答案 0 :(得分:1)

  

有没有办法返回存储在setId()中的id值   方法

我对你的方法感到困惑。您希望从列表中获取特定ID,但是您将返回整个列表。如何从列表中返回parcitular整数?然后,您需要实现向List添加值的方法。

  

每次返回null值

您的列表无法以 NULL 的形式返回,因为您在代码中已经启动了它。

更新

ArrayList<Integer> passedid = new ArrayList<Integer>();
Product prodobj = new Product();
passedid = prodobj.getId();

这绝对没有意义。看,这里你创建了一个新的ArrayList passid,它是空的,然后它被分配了下一个空的ArrayList。

如果要通过Intent传递数据,则需要使用Intent的方法:

putIntegerArrayListExtra(key, value) // for putting data to Intent
getIntegerArrayListExtra(key) // retrieving data from Intent
  

你可以建议我对我的Product类进行任何更改吗?   张贴在我的问题

所以你可能想要在List中添加项目,所以你需要创建实现这个目标的方法:

public void add(int item) {
   this.id.add(item);
}

或者只是创建一些ArrayList,填充值,然后使用你的setter:

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(3);
Product product = new Product();
product.setId(list);