Остальная часть исполняемого кода, даже если string.equals (otherstring) имеет значение true - PullRequest
0 голосов
/ 22 ноября 2011

Проблема с этим кодом, по-видимому, заключается в том, что часть 'else' оператора if выполняется, даже если переменные совпадают (поэтому 'if' - true).Любой совет, пожалуйста?

Спасибо!

    public void CheckInstalledDBVersion() throws NullPointerException, IOException {

    try {

                  //TRY TO OPEN DATABASE AND READ VERSION
                  //WRITE VERSION TO InstalledDBversion

    } catch(RuntimeException e) {

                  //IF TABLE COULD NOT BE QUERIED
                  //SET InstalledDBversion to Bogus value

        InstalledDBversion = "00";
        Log.d("RTE", ".. but we've catched it!");

    } finally {
        if (InstalledDBversion.equals(PackedDBversion)){

            // Installed DBVersion == Packed DBVersion .. nothing happens

        }
        else

                showDialog(DBCHECKFAILDIALOG);
            initialiseDatabase = false;
            copyDB();
        }
    }

Поэтому, когда я выполняю, copyDB(); вызывается, даже если InstalledDBversion.equals(PackedDBversion) == true

Ответы [ 2 ]

1 голос
/ 22 ноября 2011
else
   showDialog(DBCHECKFAILDIALOG);

initialiseDatabase = false;
copyDB();

Исправлен отступ для вас.copyDB находится вне блока if/then/else.Используйте IDE с форматированием кода.

0 голосов
/ 22 ноября 2011

Какие строки должны быть включены в блок else?showDialog(DBCHECKFAILDIALOG) только включено.Вам не хватает набора {} для блока else?

...