Ваш код, как опубликовано, содержит много ошибок;например, вы не можете хранить String
в int
- String value
должно быть int value
. Вы не можете вызывать методы экземпляра из контекста static
с this
в main
и т. Д. Однако, к вашему вопросу, да , вы можете сделать changeValue
короче, сохранить свои значения вмассив. Кроме того, changeValue
не возвращает String
- но если вы сделаете так, чтобы оно вернуло Project
, вы можете связать свои вызовы с changeValue()
. Например,
private int[] values = new int[4];
public static void main(String[] args) {
Project p = new Project();
p.changeValue("value1", 10).changeValue("value2", 25)
.changeValue("value3", 30).changeValue("value4", 40);
System.out.println(p);
}
public Project changeValue(String varName, int value) {
int i = Character.digit(varName.charAt(varName.length() - 1), 10) - 1;
values[i] = value;
return this;
}
@Override
public String toString() {
return Arrays.toString(values);
}
См. Также шаблон Builder .
.