vendredi 5 juin 2020

Why does my switch isn't equivalent to my if condition?

Given the different results theses codes give I've seen that my if condition wasn't similar to the switch I give to you here :

So here is the switch :

public GetPassages(String filename, String sourceName) {

        switch(CriticalTexts.valueOf(sourceName)) {

            case WH : case NA28 : case SBL : case RP : case KJTR : case ST :
                    getRef(urlBase + filename);
                    for (Reference ref : passages.keySet()) {
                        passages.get(ref)[0] = getVerse(ref, -1, sourceName);
                    }
                    passagesTranslated = new HashMap<Reference, Verse>(new GetMartinTranslation(passages).passagesTranslated);
                    break;
        }
}

And here the if condition :

public GetPassages(String filename, String sourceName) {

    if(CriticalTexts.valueOf(sourceName) == WH ||
           CriticalTexts.valueOf(sourceName) == NA28 ||
           CriticalTexts.valueOf(sourceName) == SBL ||
           CriticalTexts.valueOf(sourceName) == RP ||
           CriticalTexts.valueOf(sourceName) == KJTR ||
           CriticalTexts.valueOf(sourceName) == ST) {

                    getRef(urlBase + filename);
                    for (Reference ref : passages.keySet()) {
                        passages.get(ref)[0] = getVerse(ref, -1, sourceName);
                    }
                    passagesTranslated = new HashMap<Reference, Verse>(new GetMartinTranslation(passages).passagesTranslated);

    }

}

The enum used is :

enum CriticalTexts {
    WH, NA28, SBL, RP, KJTR, ST//, BHP
}

Thanks A LOT.

Aucun commentaire:

Enregistrer un commentaire