4

我怎样才能在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

4 回答 4

3

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

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

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

 list.remove(obj1);

并且只是一个指针,将您的类命名Object为所有extend来自java.lang.Object.

于 2012-11-02T09:15:51.157 回答
1

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

Hashtable ht = new Hashtable();
ht.put("key", value);
于 2012-11-02T09:14:36.230 回答
1

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

于 2012-11-02T09:15:29.790 回答
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)

此外,您不应该将您的对象命名为“Object”,它是 Java 中所有类的基类。

于 2012-11-02T09:17:56.553 回答