如何使用数组的setter和getter

时间:2012-12-03 09:06:39

标签: java

好的,所以在我的班级图上显示

void setVegetable( String veg[] )
String veg[] getVegetables()

只是想知道我将如何为此声明编码?

public void setVegetables( String veg[] )  
{  
}

我也将如何编写实例变量?
我仍然把它写成

private string vegetables = "";

6 个答案:

答案 0 :(得分:3)

简单的答案是使用这样的成员定义:

private String[] vegetables;

像这样的二传手:

public void setVegetables( String veg[] ) {  
    vegetables = veg;
}

但是你应该记住,数组是可修改的,这意味着如果像上面描述的setter一样直接存储数组,调用者仍然可以修改数组的内容,因此复制数组是一个好习惯内容,如果你想要更好的封装。虽然如果操纵大型数组,这会对性能产生影响。 在这种情况下,setter和getter将如下所示

public void setVegetables( String veg[] ) {  
    vegetables = Arrays.copyOf(veg, veg.length);
}

public String[] getVegetables() {  
    return Arrays.copyOf(vegetables, vegetables.length);
}

答案 1 :(得分:0)

你需要像

这样的东西
private String[] vegetables;

和setter方法

public void setVegetables( String[] veg )  { this.vegetables = veg; )

或遭遇编译错误 - String的数组String相同。

答案 2 :(得分:0)

我会更改变量:

private String vegetables;

到一个数组:

private String vegetables[];

然后通常使用setter和getter方法设置并获取实例数组。

答案 3 :(得分:0)

应该是这样的:

public void setVegetables( String[] veg ) { }

答案 4 :(得分:0)

初始化时,您可以为本地变量赋值:

private String[] vegetables = new String[]{"Carrot", "Parsnip"};

答案 5 :(得分:0)

根据您的类图,您正在查看的实例变量是一个String数组。因此实例成员也必须是String []。 声明应该像

private String[] vegetables;
public void setVegetables( String vegetables[] ) {  
    this.vegetables = vegetables;
}

public String[] getVegetables() {  
    return vegetables;
}