[英]How to use setters and getters for array
好吧,在我的班级图上
void setVegetable( String veg[] )
String veg[] getVegetables()
只是想知道我将如何对此语句进行编码?
public void setVegetables( String veg[] )
{
}
还有我怎么写实例变量?
我仍然写为
private string vegetables = "";
简单的答案是使用这样的成员定义:
private String[] vegetables;
和这样的二传手:
public void setVegetables( String veg[] ) {
vegetables = veg;
}
但是,请记住,数组是可修改的,这意味着如果像上述设置程序中那样直接存储数组,则调用方仍将能够修改数组的内容,因此如果您复制数组内容,则是一个好习惯想要更好的封装。 尽管如果您操作大型阵列,这会对性能产生影响。 在这种情况下,setter和getter将如下所示
public void setVegetables( String veg[] ) {
vegetables = Arrays.copyOf(veg, veg.length);
}
public String[] getVegetables() {
return Arrays.copyOf(vegetables, vegetables.length);
}
您将需要类似
private String[] vegetables;
和setter方法
public void setVegetables( String[] veg ) { this.vegetables = veg; )
或遭受编译错误-的阵列String
的是不一样的一个String
。
我将更改变量:
private String vegetables;
到数组:
private String vegetables[];
然后通常使用setter和getter方法设置并获取实例数组。
应该是这样的:
public void setVegetables( String[] veg ) { }
您可以在初始化时为本地变量赋值,如下所示:
private String[] vegetables = new String[]{"Carrot", "Parsnip"};
根据类图,您正在查看的实例变量是一个String数组。 因此,实例成员也必须是String []。 声明应该像
private String[] vegetables;
public void setVegetables( String vegetables[] ) {
this.vegetables = vegetables;
}
public String[] getVegetables() {
return vegetables;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.