==
сравнивает ссылки на объекты.
.equals()
сравнивает значения String.
Иногда ==
дает иллюзии сравнения значений String, как в следующих случаях:
String a="Test";
String b="Test";
if(a==b) ===> true
Это связано с тем, что при создании любого строкового литерала JVM сначала ищет этот литерал в пуле строк, и если он найдет совпадение, эта же ссылка будет передана новой String. Из-за этого получаем:
(a == b) ===> true
String Pool
b -----------------> "test" <-----------------a
Однако ==
не выполняется в следующем случае:
String a="test";
String b=new String("test");
if (a==b) ===> false
В этом случае для new String("test")
оператор new String будет создан в куче, и эта ссылка будет указана на b
, поэтому b
будет дана ссылка на кучу, а не на String pool.
Теперь a
указывает на String в пуле String, а b
указывает на String в куче. Из-за этого мы получаем:
, если (a == b) ===> false.
String Pool
"test" <-------------------- a
Heap
"test" <-------------------- b
Пока .equals()
всегда сравнивает значение String, поэтому дает true в обоих случаях:
String a="Test";
String b="Test";
if(a.equals(b)) ===> true
String a="test";
String b=new String("test");
if(a.equals(b)) ===> true
Таким образом, использование .equals()
всегда лучше.
Еще нет встроенного триггера runat / cron.
На данный момент лучшим вариантом является использование внешней службы для запуска функции HTTP периодически. См. Этот пример в functions-samples repo для получения дополнительной информации.
Я также очень рекомендую прочитать это сообщение в блоге Firebase: Как планировать (Cron) Работы с Облачные функции для Firebase и этого видео: Функции временного облака для Firebase с использованием HTTP-триггера и Cron .
Что вы можете сделать, это развернуть экземпляр AppEngine, который запускается заданием cron и испускает PubSub. Я написал сообщение в блоге специально для этого, вы можете посмотреть:
https://mhaligowski.github.io/blog/2017/05/25/scheduled-cloud-function -execution.html
exports.cronReminders
: измените первую букву имени func на нижний регистр – Konstantin Konopko 10 February 2018 в 15:31cron-job.org
, о котором говорит Jen в сообщении в блоге, можно использовать бесплатно. – Frank van Puffelen 3 April 2018 в 03:52