2012-11-02 3 views
4

어떻게 이것을 자바로 구현할 수 있습니까? 나는 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; 
     } 

    } 

지금 나는 새로운 properties 추가로, 내가 같은 객체를 필요로 어느 시점에서이

Object obj = new Object(args); 

같은이 객체를 형성하지만, some을 제거하고 있습니다.

저는 자바 스크립트에서 이와 같이합니다.

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

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

클래스 이름을 '객체'로 지정하면 안됩니다. –

+0

다음과 같이하면됩니다. http://commons.apache.org/beanutils/api/org/apache/commons/beanutils/DynaBean.html – bobah

답변

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) 

, 당신은 개체 "개체"이름을 안, 그것은 자바의 모든 클래스의 기본 클래스입니다.

1

자바에서는 할 수 없습니다. 가장 근사치는 HashTable 또는 이와 유사한 것을 사용하는 것입니다.

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

구체적으로 말하면 OP의 질문에 대한 답변이 아닙니다. – MaVRoSCy

1

클래스에 비공개 속성으로 ArrayList를 추가 할 수 있습니다. 그리고 항목을 추가하고 삭제할 수있는 액세스 기능을 빌드하는 것보다. JavaScript와 똑같이 할 수는 없습니다.

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); 

단지 포인터

는 자사의 나쁜 관행은 모든 자바 클래스 java.lang.Object에서 extendObject으로 클래스 이름을 지정합니다.

관련 문제