Вызов конструктора из конструктора с [дубликат]

164
29 августа 2019, 22:40

На данный вопрос уже ответили:

  • Вызов конструктора из другого конструктора 2 ответа

не понимаю почему так нельзя сделать

public class xxx {
public xxx (boolean a, boolean b, boolean c, boolean d){  
}
public xxx (int i){
    switch (i){
        case 0:
            this(false, false, false, false);
            break;
        case 1:
            this(false, false, false, true);
            break;
        case 2:
            this(false, false, true, false);
            break;
   }
}

могу ли я использовать swith в конструкторе + вызов конструктора из него?

Answer 1

this(...) должна идти первой строкой в конструкторе.

можно сделать static функцию для получения нужного объекта:

public class xxx {
    public xxx(boolean a, boolean b, boolean c, boolean d) {
    }
    static public xxx getByCase(int i) {
        switch (i) {
            case 0:
                return new xxx(false, false, false, false);
            case 1:
                return new xxx(false, false, false, true);
            case 2:
                return new xxx(false, false, true, false);
        }
        return null;
    }
}
//где-то в коде
int foo = getSomeValue();
xxx bar = xxx.getByCase(foo);
READ ALSO
Простой jUnit тест

Простой jUnit тест

Всем приветНаписал мини проект в которой из url достаю json, превращаю в обьекты и заношу в бд

188
Ошибка в dbUnit

Ошибка в dbUnit

При запуске теста в dbUnit выскакивает ошибка orgdbunit

173
Spring properties Java version

Spring properties Java version

Изучаю Spring по туториалу и создал Maven проект и теперь в pomxml лектор написал:

232
Google показывает <title> задом наперед

Google показывает <title> задом наперед

Всем привет, прошу помощи

107