Возможно, вы захотите сначала проверить, а затем нажать на массив, чтобы избежать дублирования записей,
let devices = this.state.devices;
if(devices.indexOf(device.id) == -1){
devices.push(device.id);
this.setState({ devices: devices });
}
Это, безусловно, не будет выдвигать deviceID, который уже находится в состоянии.
Замыкания определенно не войдут в Java 7 из-за отсутствия консенсуса относительно единой реализации. См. Здесь.
Функциональная библиотека Java тщательно протестирована и активно развивается. Если вы просмотрите исходный код, то увидите, что это просто стандартная болтовая Java, и мало что может пойти не так. Я знаю по крайней мере одно критически важное корпоративное приложение, которое использует его в производстве. Это приложение имеет более миллиона пользователей.
Перейти к нему.
Функциональная Java не требует использования замыканий - исходный код компилируется любым компилятором Java 1.5. Функциональная Java гораздо более полная, чем коллекции Google, и позволяет вам использовать ее с BGGA.
Надеюсь, это поможет.
BGGA все еще является реализацией прототипа, не уверен, насколько комфортно вы вводите прототип кода в производство. посмотрите коллекции Google , это приблизит вас к цели, хотя и более многословно
Я думаю, вы смотрите на эту проблему с неправильной точки зрения.
Я бы хотел использовать замыкания в Java. ... Насколько безопасно было бы использовать такую библиотеку в производственном приложении предприятия?
Ваше решение о том, какую технологию использовать в производственном приложении предприятия, должно основываться на том, что будет лучше всего для предприятия в длительный срок. Вы должны задавать такие вопросы, как:
В общем, утверждения типа «Я бы хотел использовать Xxx» не должны иметь места в процессе принятия корпоративных решений . (Есть контрпримеры; например, стартапы, которые ставят компанию на какую-то новую технологию, но реальный уровень успеха ... ммм ... открыт для предположений.)
Подводя итог, если вы строите предприятие производственные приложения, вам нужно быть консервативным и не поддаваться искушению использовать блестящие новые технологии «для развлечения». Попробуйте думать как ИТ-менеджер.
стартапы, которые делают ставку на новые технологии, но реальный уровень успеха ... ммм ... открыт для предположений.)Подводя итог, если вы создаете производственные приложения для предприятий, вам нужно быть консервативным. , и не поддавайтесь искушению использовать новые блестящие технологии «для развлечения». Попробуйте думать как ИТ-менеджер.
стартапы, которые делают ставку на новые технологии, но реальный уровень успеха ... ммм ... открыт для предположений.)Подводя итог, если вы создаете производственные приложения для предприятий, вам нужно быть консервативным. , и не поддавайтесь искушению использовать новую блестящую технологию «для развлечения». Попробуйте думать как ИТ-менеджер.
Если вы ищете более легкое решение для закрытия замыканий на простой Java, ознакомьтесь с проектом lambdaj: