2014-04-25 39 views
0

我一直在玩数组一段时间,这个问题一直困扰着我。初始化一个数组中的对象

我创建了一个用户定义的对象,并将其声明为一个像这样的数组:`Property regesteredAssets [] = new Property [200];

这是我的构造函数:`

public Property(String newPropertyName,String newPropertyAddress,String newPropertyType, String newPropertyDescription) 
    { 

    propertyName[arraySequence] = newPropertyName; 
    propertyFullAddress[arraySequence] = newPropertyAddress; 
    propertyType[arraySequence] = newPropertyType; 
    propertyDescription[arraySequence] = newPropertyDescription; 

     arraySequence++; 



} 

我想根据我的愿望,初始化每个数组regesteredAsssets[]。我该怎么做? 我是否也必须在Property类的属性中使用数组?

+0

这只是语义,但我更喜欢声明数组了他们的类型。 'Property [] registeredAssets;'而不是'Property registeredAssets [];'。更容易找到阵列和单个物体。 – indivisible

回答

0

你不需要你的属性是数组,除非特定的资产有多个东西。在这种情况下,我不认为它确实如此。您可以大大简化你的代码如下:

public class Property { 
    private String name, address, type, description; 

    public Property(String name, String address, String type, String description) { 
     this.name = name; 
     this.address = address; 
     this.type = type; 
     this.description = description; 
    } 

    public static void main(String[] args) { 
     Property[] registeredAssets = new Property[200]; 

     registeredAssets[0] = new Property("Joe Bloggs", "555 Fake St.", "IMPORTANT", "Lorem Ipsum Dolor"); 
     // etc. 
    } 
} 
+0

这有助于很多!谢谢! – user3519322

0

如果您有类型属性的数组,你可以设置每个使用下面的代码中的元素组成:

regesteredAssets[0] = new Property(enterYourParametersHere); 

我假定你的财产构造函数中的字段是单一领域,因此你不需要使用数组符号field[index] = value来设置它们,事实上,如果Property类具有我认为的一致性,那么这会产生编译错误。

如果你想建立多个条目数组中,你可以执行一个循环中的初始化步骤,对阵列的如下的指标提供循环索引:

for(int i = 0; i < 10; i++) 
{ 
    regesteredAssets[i] = new Property(enterYourParametersHere); 
} 

我希望这有助于...

+0

谢谢!所以,每次我将一个新的参数传递给一个新的regesteredAsset [i];这些参数是否被分配给该特定对象? – user3519322

+0

是的,应该通过构造函数提供参数,并且每次命中'regesteredAsset [i]'时,数组中索引为'i'的Property实例将具有这些参数,如构造函数代码所示。 –