Массивы - это объекты в JavaScript, которые проходят по ссылке. Это означает, что при инициализации массива:
var array = [1, 2, 3];
Я создал ссылку на этот массив в памяти. Если я тогда скажу:
var otherArray = [1 2, 3];
array и otherArray имеют два отдельных адреса в памяти, поэтому они не будут равно друг другу (даже если значения равны.) Чтобы проверить проход по ссылке, вы можете играть вокруг с массивами:
var copyArray = array;
В этом случае copyArray ссылается на тот же адрес в памяти, что и на массив, поэтому:
copyArray === array; //will evaluate to true
array.push(4); //copyArray will now have values [1, 2, 3, 4];
copyArray.push(5); //array will have values [1, 2, 3, 4, 5];
copyArray === array; //still true
Чтобы проверить равенство значений в массив или объект, вам нужно сделать «глубокое сравнение» - для массивов это будет пересекать оба массива для сравнения индекса и значения, чтобы убедиться, что оба они равны - для объектов он будет пересекать каждый ключ и гарантирует, что значение будет одинаковым. Для более глубоких сравнений вы можете проверить источник аннотированных объектов underscore.js:
Я думаю, это поможет вам
Scanner input= new Scanner(System.in);
String readString = input.nextLine();
while(readString!=null) {
System.out.println(readString);
if (readString.equals(""))
System.out.println("Read Enter Key.");
if (input.hasNextLine())
readString = input.nextLine();
else
readString = null;
}
Вы можете прочитать строку, и если строка пуста, вы можете предположить, что она вводит ключ .. как ниже код ..
Scanner scanner = new Scanner(System.in);
String readString = scanner.nextLine();
System.out.println(readString);
if (readString.equals(""))
System.out.println("Enter Key pressed.");
if (scanner.hasNextLine())
readString = scanner.nextLine();
else
readString = null;