setter和getter如何存储和传递CharSequence?

How to store and pass CharSequence by setter and getter?

我有一个 DepositTypes class 以 CharSequence 数组作为参数。我使用 setter 和 getter 作为 CharSequence depositPeriod[]。在 generatePeriod() 中,我必须为 DepositTypes class.

的每个项目生成一些随机数并将它们保存到 depositPeriod[]

在我的 MainActitvity class 中,我需要检索 depositPeriod final CharSequence charSequence[] = deposit_types.get(positionOfDeposit).getDepositPeriod();。当我检查 charSequence 的值时,我得到了 [Ljava.lang.CharSequence;@bd8aa05

问题 如何从 DepositTypes class 获取 CharSequence 并在 MainActivity

中使用
class DepositTypes {
    ...
    private CharSequence depositPeriod[];

private DepositTypes(..., ...,  CharSequence depositPeriod[]) {
    ...
    setDepositPeriod(depositPeriod);
}
   ... ...

public CharSequence[] getDepositPeriod() {
    return depositPeriod;
}

public void setDepositPeriod(CharSequence[] depositPeriod) {
    this.depositPeriod = depositPeriod;
}

static List<DepositTypes> generateDepositTypes(Context context) {
    ArrayList<DepositTypes> deposits = new ArrayList<>();
     ...
     ...

    Random rand = new Random();


    for (int i = -1; i < deposit_types.length; i++) {
        if (i != -1) {
           CharSequence[] depositPeriod = generatePeriod();     
           deposits.add(new DepositTypes(..., ..., depositPeriod));
        } else {
            ...
            ...
        }
    }
    return deposits;
}
static CharSequence[] generatePeriod() {
    Random rand = new Random();
    int period = rand.nextInt(3) + 3;
    CharSequence[] depositPeriod = new String[period];

    for (int i = 0; i < period; i++) {
        int days = rand.nextInt(335) + 31;
        depositPeriod[i] = String.valueOf(days);
        Log.v("AAA", "in Class -> " + depositPeriod[i]);
    }

    return depositPeriod;
}

}

CharSequense是一个接口,需要使用toString()方法来访问底层的字符串值

CharSequence[] charSequence = deposit_types.get(positionOfDeposit).getDepositPeriod();
for(sequence CharSequence : charSequence) {
   String string = sequence.toString()
   //... do stuff with string
}