繁体   English   中英

在Java中设置和获取方法

[英]Set and get methods in java

public class Examples
{
    private int numbers[]; //instance variable
    public Examples()
    {
        numbers = new int[10];
        for (int i = 0; i < numbers.length; i++) 
        {                           //constructor number 1
           numbers[i] = 42;
        }
     } 

     public Examples(int[] array)
     {
        numbers = new int[array.length];
        for (int i = 0; i < array.length; i++) 
        {
           numbers[i] = array[i];         //constructor number 2
        }
      }
}

因此,我必须编写一个set方法,该方法将为实例变量创建一个新数组,该实例数组的长度与传递给setNumbers的数组的长度相同,然后复制其参数的值。

到目前为止,我有

public void setNumbers (int numbers)
    {
        int[] setNumbers = int numbers;
    } 

我从那里得到错误,不确定为什么

我不知道您的setter方法签名应该是什么,但是正确的方法可能是以下方法之一:

public void setNumbers (int []numbers) {
    this.numbers = numbers;
    // or perhaps you need to copy the argument:
    // this.numbers = Arrays.copyOf(numbers, numbers.length);
}

要不然:

public void setNumbers (int numbers) {
    this.numbers = new int[numbers];
}

另外,我会这样写你的构造函数:

public Examples()
{
    numbers = new int[10];
    Arrays.fill(numbers, 42);
 } 

 public Examples(int[] array)
 {
    numbers = Arrays.copyOf(array, array.length);
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM