Как мне заставить работать этот оператор else- if, говоря, что часть строки не совпадает с местом в строке?

Заголовок:

else if (nameOfWebsite.indexOf("http://") == 0 && nameOfWebsite.indexOf("www.") !== 7)

последняя часть, !== 7, как мне заставить его скомпилировать, чтобы он работал так, как должен?

Попробуйте != вместо !== - в Java нет !==.

Dawood ibn Kareem 02.12.2018 21:22

Или просто воспользуйтесь методом startsWith - else if (nameOfWebsite.startsWith("http://www.")) {

Dawood ibn Kareem 02.12.2018 21:37
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
45
2

Ответы 2

  • Первичное сравнение выполняется с помощью

    • o1 == o2 за равенство
    • o1 != o2 за неравенство
  • Сравнение объектов выполняется с помощью

    • obj1.equals(obj1) за равенство
    • !obj1.equals(obj1) за неравенство

=== и !== используются в JS

Чтобы заставить вышеуказанный оператор работать, вам просто нужно будет заменить! == на! =, Поскольку это проверка равенства примитивных значений в Java. Таким образом, ваш код будет таким:

else if (nameOfWebsite.indexOf("http://") == 0 && nameOfWebsite.indexOf("www.") != 7)

Судя по оператору кода, вы пытаетесь проверить и, возможно, извлечь значение URL-адреса сайта. Я бы предложил использовать API-интерфейсы Regex для выполнения той же функции, указанной выше, особенно если у вас есть дополнительный www в URL-адресе. Код будет выглядеть следующим образом:

String pattern = "^(http://|https://)?(www.)?([a-z0-9]+)(.[a-z0-9]+)$";
if (nameOfWebsite.matches(pattern)){
   // the rest of the code goes here
}

Если вы хотите извлечь фрагменты URL-адреса, вам следует взглянуть на класс Pattern в Java.

Надеюсь это поможет.

Другие вопросы по теме