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
}
我有一个 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
}