Ошибка: ошибка при разборе: & hellip; Строка 212: Неожиданный токен = & gt; при выполнении gulp serve [duplicate]

Если вы похожи на меня, когда я впервые начал использовать Java, я хотел использовать оператор «==» для проверки того, были ли два экземпляра String одинаковыми, но к лучшему или худшему это не правильный способ сделать это в Java.

В этом уроке я продемонстрирую несколько разных способов правильно сравнить строки Java, начиная с подхода, который я использую большую часть времени. В конце этого руководства по сопоставлению Java String я также обсужу, почему оператор «==» не работает при сравнении строк Java.

Вариант 1: Сравнение строк Java с методом equals Большая часть (возможно, в 95% случаев). Я сравниваю строки с методом equals класса Java String следующим образом:

if (string1.equals(string2))

Этот метод String равен методу для двух строк Java, и если они содержат точно такую ​​же строку символов, они считаются равными.

Взглянув на быстрый пример сравнения строк с методом equals, если был выполнен следующий тест, две строки не будут считаться равными, поскольку символы не являются точно такими же (случай символов различен):

String string1 = "foo";
String string2 = "FOO";

if (string1.equals(string2))
{
    // this line will not print because the
    // java string equals method returns false:
    System.out.println("The two strings are the same.")
}

Но, когда две строки содержат одну и ту же строку символов, метод equals вернет true, как в этот пример:

String string1 = "foo";
String string2 = "foo";

// test for equality with the java string equals method
if (string1.equals(string2))
{
    // this line WILL print
    System.out.println("The two strings are the same.")
}

Вариант 2: Сравнение строк с методом equalsIgnoreCase

В некоторых строковых сравнительных тестах вы захотите игнорируйте, являются ли строки строчными или строчными. Если вы хотите проверить свои строки на равенство в этом случае нечувствительным образом, используйте метод equalsIgnoreCase класса String, например:

String string1 = "foo";
String string2 = "FOO";

 // java string compare while ignoring case
 if (string1.equalsIgnoreCase(string2))
 {
     // this line WILL print
     System.out.println("Ignoring case, the two strings are the same.")
 }

Вариант 3: сравнение строк Java с методом compareTo

Существует также третий, менее распространенный способ сравнения строк Java, и это с методом сравнения String класса. Если две строки точно совпадают, метод compareTo вернет значение 0 (ноль). Ниже приведен краткий пример того, как выглядит этот метод сравнения строк:

String string1 = "foo bar";
String string2 = "foo bar";

// java string compare example
if (string1.compareTo(string2) == 0)
{
    // this line WILL print
    System.out.println("The two strings are the same.")
}

Пока я пишу об этой концепции равенства в Java, важно отметить, что язык Java включает в себя метод equals в базовый класс Java Object. Всякий раз, когда вы создаете свои собственные объекты, и вы хотите предоставить средства для проверки того, являются ли два экземпляра вашего объекта «равными», вы должны переопределить (и реализовать) этот метод equals в своем классе (точно так же, как язык Java предоставляет это равенство / сравнение в методе String равно).

Вы можете посмотреть на это ==, .equals (), compareTo () и compare ()

3
задан Sergey Brunov 9 November 2017 в 12:40
поделиться

3 ответа

Функции стрелок , одна из новых функций стандарта ECMAScript 6 , была введена в node.js (как стабильная функция) только в версии 4.0. 0 .

Вы можете либо обновить версию node.js, либо использовать старый синтаксис, который будет выглядеть так:

rl.question('What do you think of Node.js? ', function(answer) {
  // TODO: Log the answer in a database
  console.log('Thank you for your valuable feedback:', answer);

  rl.close();
});

(Обратите внимание, что есть один больше различий между этими синтаксисами: переменная this ведет себя по-другому. Для этого не имеет значения, но это может быть и в других.)

10
ответ дан CherryDT 16 August 2018 в 10:25
поделиться
  • 1
    Спасибо! Это решило проблему. Извините, у меня нет достаточной репутации для повышения. Я нахожусь в окнах, а номер версии - 0.12.2, который кажется действительно старым по сравнению с 4.0.0. Но я не могу обновить его через npm (я нахожусь в Windows и использовал команду «npm install -g n»). Почему это? – user3700129 25 April 2016 в 15:00
  • 2
    У меня также были проблемы с обновлением с использованием самой npm в более старых версиях, я не уверен, что вызвало это, но затем я только что загрузил последнюю версию с сайта node.js и установил ее. (И тем временем я переключился на использование Chocolatey , приятного менеджера пакетов для Windows, где нужно ввести cup nodejs.install для обновления узла.) – CherryDT 25 April 2016 в 15:03
  • 3
    Я просто установил его через choco. Это сработало отлично! – user3700129 25 April 2016 в 15:14

Синтаксис =>, известный как функция стрелки, является относительно новой особенностью JavaScript. Вам понадобится аналогичная новая версия Node, чтобы воспользоваться ею.

0
ответ дан Mat 16 August 2018 в 10:25
поделиться

Обновите версию своего узла.

Функции стрелок теперь работают в узле (версия 4.0.0), см. здесь: ECMAScript 2015 (ES6) в Node.js

Проверьте, какая версия, с которой вы работаете с node -v

Вероятно, вам нужно обновить таблицу совместимости здесь, чтобы узнать, что еще доступно:

Таблица совместимости узлов

0
ответ дан JordanHendrix 16 August 2018 в 10:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: