Как мне сделать это иначе - если оператор работает, говоря, что часть строки не равна месту в строке? - PullRequest
0 голосов
/ 02 декабря 2018

Заголовок:

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

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

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Чтобы сделать приведенный выше оператор, вам нужно просто заменить! == на! =, Так как это проверка на равенство примитивных значений в 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.

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

0 голосов
/ 02 декабря 2018
  • Сравнение примитивов выполняется с

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

    • obj1.equals(obj1) для равенства
    • !obj1.equals(obj1) для неравенства

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...