Не работает return, при передачи данных s = " " программа должна вернуть 0 и остановить программу, но почему то работа продолжается

class Solution {
    public int lengthOfLastWord(String s) {
        if(s == " ") {
            return 0;
        }
        String[] str = s.split(" ");
        return str[str.length - 1].length();
    }
}

Ответы (1 шт):

Автор решения: StateItPrimitive

Краткий ответ:

В java оператор == сравнивает лишь ссылки на объекты, а не их значения.

Чтобы добиться желаемого результата вам следует воспользоваться методом equals():

class Solution {
    public int lengthOfLastWord(String s) {
        if (" ".equals(s)) {
            return 0;
        }
        String[] str = s.split(" ");
        return str[str.length - 1].length();
    }
}

Подробное разъяснение:

Описание особенностей работы с оператором == смотрите здесь.

→ Ссылка