从对象中删除键和值

时间:2013-04-19 04:41:48

标签: java object

我的数据模型如下:

public class CustomerObject implements Serializable
{
public Integer pkid;
public String code;
public String name;

    public CustomerObject()
{
    pkid = new Integer(0);
    code = "";
            name = "";
    }
}

现在我从另一个班级打电话给我:

public CustomerObject getCustObj() {
    CustomerObject custObj = new CustomerObject();
    custObj.pkid = new Integer(1001);
    custObj.code = "CUST1001";

    return custObj;
}

现在在getCustObj()函数中,我想只传递pkidcode。我的意思是我想从对象中删除变量“name”然后传递。所以我的传递对象看起来像:

    CustomerObject()
    {
        pkid = 1000;
        code = CUST1001;
    }

请帮助我如何做到这一点。

实际上我有一个200变量的数据模型。我将使用webservice传递此信息。但在通过webservice传递期间,我可能只需要20次传递。所以我想减少数据大小。

2 个答案:

答案 0 :(得分:1)

在CustomerObject类中使用另一个构造函数,如下所示。

public class CustomerObject implements Serializable
{
    public Integer pkid;
    public String code;
    public String name;

    public CustomerObject()
    {
        pkid = new Integer(0);
        code = "";
        name = "";
    }
    public CustomerObject(int inPkid, String inCode)
    {
        this.pkid = inPkid;
        code = inCode; 
    }
}

从另一个类调用getCustomerObject方法时,使用如下

public CustomerObject getCustObj() {
    CustomerObject custObj = new CustomerObject(new Integer(1001),"CUST1001");
}

答案 1 :(得分:0)

如果您没有在对象中设置名称,那么它与没有名称的对象一样好,因为name为null。您无法从对象中删除名称变量。 但是如果你真的想这样做,你可以使用继承。创建一个具有除name之外的所有属性的类,其他类扩展第一个类并向其添加name属性。所以现在你可以在不需要name属性时使用头等。