Как я могу установить глобальное поле в методе

У меня есть проблема, поэтому у меня есть несколько глобальных полей в классе, для каждого я хочу сделать один и тот же код, но я не хочу повторять код - просто используйте для этого один метод. И там я хочу отправить эти глобальные поля в аргумент этого метода, а в качестве второго аргумента я хочу отправить значение для этого поля.

Я пробовал с объектом, общим типом, но я не знаю, как это сделать. Вот пример:

private void setName(String _name) {
    if(isNull(_name)) {
        this.name = "";
    } else {
        this.name = _name.toString();
    }
}

И несколько других методов используют тот же код, но с другими полями и аргументами, и я хочу сделать что-то вроде этого:

private void setField(some_field, _value) {
    if(isNull(_value)) {
        this.some_field = "";
    } else {
        this.some_field = _value;
    }
}

Может ли кто-нибудь помочь?

Например, у меня есть 2 глобальных поля: имя строки, возраст int.

Для них мне нужно использовать один и тот же код (если), и я хочу сделать это одним методом. В этом случае я должен использовать глобальное поле в качестве аргумента, а в качестве второго аргумента использовать правильное значение для этого поля, поэтому вместо этого:

это.имя = аргумент; this.age=аргумент;

использование: globa_field_argument = аргумент;

Пример: setField(this.name, "Test"); setField(этот возраст, 5);


person ullQuiorra    schedule 23.11.2015    source источник


Ответы (1)


Во-первых, я бы, вероятно, объявил ваши глобальные поля как «общедоступные статические». Например:

public static int myNumber = 10;
public static String myString = "foo";

Во-вторых, вы должны передать свои поля в качестве аргумента, поскольку вы можете получить к ним доступ внутри самого метода.

Когда вы переопределяете поля в любом месте вашего кода, вы сделаете это:

this.myNumber = newNumber;
this.myString = newString;
person Garrison Wesley LeRock    schedule 23.11.2015
comment
Например, у меня есть 2 глобальных поля: имя строки, возраст int. Для них мне нужно использовать один и тот же код (если), и я хочу сделать это одним методом. В этом случае я должен использовать глобальное поле в качестве аргумента, а в качестве второго аргумента использовать правильное значение для этого поля, поэтому вместо этого: this.name = arguments; this.age=аргумент; использование: globa_field_argument = аргумент; Пример: setField(this.name, Test); setField(этот возраст, 5); - person ullQuiorra; 23.11.2015