Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Оба - в основном то же, кроме бесплатного программного обеспечения, перемещение ставит больше акцента на свободе изменить и перераспределить код. Например, GNU, GPL был бы более "свободным", чем лицензия MIT, потому что лицензия MIT не осуществляет копилефт и таким образом кто-то может разработать программное обеспечение с закрытым исходным кодом на основе кода.
Видят также глава Википедии об этом , который упоминает, что Microsoft совместно использовала источник inititive, который может предоставить Вам очень несвободный исходный код их приложений.
Определение с открытым исходным кодом: http://opensource.org/docs/osd
определение Бесплатного программного обеспечения: http://www.gnu.org/philosophy/free-sw.html
Оба говорят о free-as-in-speech. FSF "более свободен" в этом для программного обеспечения соответствовать стандартам FSF, это должно предоставить больше свобод своим пользователям. <забастовка> стандарты OSI более свободны, "бесплатное" программное обеспечение, "открыта", но реверс не обязательно верен забастовка> - Это складывается, что даже это не всегда верно.
Они - функционально то же в обширный большинство случаев. Это - философское различие - FSF хочет интеллектуальную свободу, OSI хочет практическую свободу к (ре), используют и адаптируют программное обеспечение.
Проект GNU отвечает на этот вопрос непосредственно:
http://www.gnu.org/philosophy/free-software-for-freedom.html
существенное различие, немного упрощенное, то, что Бесплатное программное обеспечение обычно требует, чтобы, если Вы изменяете и/или включаете его в другое собрание произведений, , весь результат был также распределен как Бесплатное программное обеспечение, , и Вам запрещают далее ограничить способность любых "нисходящих" пользователей от изменения, использования или перераспределения программного обеспечения с теми же правами, которые были даны Вам.
<час>Правовая оговорка: Черт возьми, Jim, я - разработчик, не адвокат. Не толкуйте условия или комментарии как "юридическая консультация".
android:inputType="text" android:maxLines="1"
и удалите singleLine
от EditText
– Harish Gyanani
2 December 2016 в 06:56
Открытый исходный код - это методология разработки; бесплатное программное обеспечение является социальным движение.
Freeware software - это небольшие программы, которые бесплатны, но их коды недоступны. Их можно скачивать, использовать, копировать без ограничений.
Shareware-программы - это просто демо-версия полного программного обеспечения, разработанного небольшой компанией, и модификация и другие возможности использования лежат на группе разработчиков. Здесь зависимость от конечного пользователя больше.
Программное обеспечение с открытым исходным кодом - это программное обеспечение, часто разрабатываемое крупными производителями, которое можно распространять, использовать и изменять без каких-либо ограничений. Здесь коды программного обеспечения полностью доступны пользователю для будущего изменения и создания большого программного обеспечения.