I am doing something that should be trivial - getting the enum value from the property and comparing it with the constant of this enum in the if . However, Android Studio claims that the true code is unreachable and does not compile.
Block:
if (ScanState.getScanMode() != ScanState.ScanModeEnum.SCAN_IDLE) {
where in the optional ScanState class I have:
public static ScanModeEnum getScanMode() { return scanMode; } public static void setScanMode(ScanModeEnum scanMode) { ScanState.scanMode = scanMode; } public enum ScanModeEnum { SCAN_IDLE, SCAN_PERSON, SCAN_BIKE, SCAN_SEARCH } private static ScanModeEnum scanMode = ScanModeEnum.SCAN_IDLE;
The options I tried that Android Studio claim will be evaluated as false
if(ScanState.getScanMode() == ScanState.ScanModeEnum.SCAN_IDLE) if(ScanState.getScanMode().compareTo(ScanState.ScanModeEnum.SCAN_IDLE)!=0) if(ScanState.ScanModeEnum.SCAN_IDLE == ScanState.ScanModeEnum.SCAN_IDLE) if(ScanState.ScanModeEnum.SCAN_IDLE.equals(ScanState.ScanModeEnum.SCAN_IDLE))
I am new to Java (more familiar with C #), but the answer to this question suggests that my understanding of this sound. Is there some kind of stupid mistake I am making?
source share