В первую очередь, важно понимать, что лямбда-функция в Java всё-таки объект с одним методом, а не функция.
Строго говоря, объявленных методов может быть больше одного. Лямбда-функция в Java — это реализация функционального типа, а функциональный тип — любой интерфейс или абстрактный класс, у которых один метод объявлен как абстрактный (смотрим спеку (PDF), главы 9.8, 15.27).
То есть, если у нас есть класс, у которого реализовано n методов, но один — абстрактный, то его можно использовать как функциональный интерфейс, если у нас есть интерфейс с m методами и m-1 метод реализует поведение по умолчанию (default methods) — то это тоже функциональный интерфейс.
Вдобавок к вышеперечисленному, хочу добавить, что одним из важных аспектов, почему String объявлен как final — это безопасность. Например, когда загружаем класс, то имя класса передается в виде строки. Если бы строки были не финальные, то вредоносный код мог бы изменить имя класса и, таким образом, загрузить неправильный класс. Например, вместо java.io.FileReader был бы загружен com.malicious.FileRemover. Также можно было бы сломать контракт equals/hashCode.
Для обхода всех этих проблем, возможно, был бы введен класс java.lang.SafeString, который бы помог предотвратить эти проблемы, но попутно создал бы новых (например, конвертацию из SafeString в String и обратно, замусоривание API). Но так как это один из базовых классов, то было принято решение сделать класс String финальным.
Экран очень хрупкий, я уронил его случайно, экран разбился, сейчас отправил на замену. Горилла гласс направлен на защиту от царапин, а не от падения с метровой высоты.
запуск приложений тормозит безбожно, приложение телефон запускается 3+ секунды. Это, похоже, проблема lollipop, так как на Nexus 4 ситуация аналогичная
Я зарёкся брать не-нексусы после того, как побыл владельцем Asus Transformer Prime, Samsung Galaxy S, HTC Desire HD. Теперь только Nexus. И то, даже Google чего-то медлит, для N4/N7 обновление до 4.4 будет «in a few weeks». После этого начинаешь задумываться всерьёз о преимуществах закрытой экосистемы.
Строго говоря, объявленных методов может быть больше одного. Лямбда-функция в Java — это реализация функционального типа, а функциональный тип — любой интерфейс или абстрактный класс, у которых один метод объявлен как абстрактный (смотрим спеку (PDF), главы 9.8, 15.27).
То есть, если у нас есть класс, у которого реализовано n методов, но один — абстрактный, то его можно использовать как функциональный интерфейс, если у нас есть интерфейс с m методами и m-1 метод реализует поведение по умолчанию (default methods) — то это тоже функциональный интерфейс.
Или вы инсталляции посчитали? Или вы еще посчитали всех пользователей Exchange?
Для обхода всех этих проблем, возможно, был бы введен класс java.lang.SafeString, который бы помог предотвратить эти проблемы, но попутно создал бы новых (например, конвертацию из SafeString в String и обратно, замусоривание API). Но так как это один из базовых классов, то было принято решение сделать класс String финальным.
Из минусов:
Из плюсов — экран понравился, шустро работает.
Похоже, что это корректно только для территории России. У меня уже 30 минут качается, меньше 6 мегабайт. Входной канал — 50мб.
Для тех, кому тоже интересно: Ebay Inc. to ask ebay users to change passwords