在java对象中添加和删除属性

时间:2012-11-02 09:11:34

标签: java

我如何在java中实现这一点。我有一个properties的对象。

public class Object {

    private final Credentials Credentials;
    private final int PageSize;
    private final int PageStart;
    private final int DefaultFilterId;

    public Object(Credentials Credentials, int PageSize, int PageStart, 
int DefaultFilterId) {
            this.Credentials = Credentials;
            this.PageSize = PageSize;
            this.PageStart = PageStart;
            this.DefaultFilterId = DefaultFilterId;
       }

    }

现在我正在形成一个像这样的对象

Object obj = new Object(args);

在某些时候我需要相同的对象,添加了新的properties,但删除了some

我在javascript中做了类似的事情。

var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";

delete myCars[1]; or myCars.splice(1,1);

4 个答案:

答案 0 :(得分:3)

将对象的所有实例放入集合中,然后将其从集合中删除。

List<YourObject> list = new ArrayList<YourObject>();
YourObject obj1 = new YourObject("abc");
list.add(obj1);
YourObject obj2 = new YourObject("xyz");
list.add(obj2);

现在你的两个对象都在列表中。 以后你可以使用删除方法删除它们。

 list.remove(obj1);

只是一个指针,将您的类命名为Objectextend中的所有java类java.lang.Object一样,这是一种不好的做法。

答案 1 :(得分:1)

你不能在java中这样做。最好的近似是使用HashTable或类似的。

Hashtable ht = new Hashtable();
ht.put("key", value);

答案 2 :(得分:1)

您可以将ArrayList作为私有属性添加到您的类中。而且构建允许您添加和删除条目的访问功能。 你不能像在JavaScript中那样完成它。

答案 3 :(得分:1)

public class Object {

    private Credentials credentials;
    private int PageSize;
    private int PageStart;
    private int DefaultFilterId;

    public Object(Credentials credentials, int PageSize, int PageStart, int DefaultFilterId) {
        this.credentials = credentials;
        this.PageSize = PageSize;
        this.PageStart = PageStart;
        this.DefaultFilterId = DefaultFilterId;
    }

    // do that for the properties you want to be able to modify
    public void setCredentials(Credentials newCredentials) {
         this.credentials = newCredentials;
    }

}

你使用它:

object.setCredentials(yourNewCredentials)

另外,你不应该命名你的对象&#34; Object&#34;它是Java中所有类的基类。