Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Определенные элементы дизайна могут быть защищены авторским правом. Apple выиграла "trashcan" значок, но эффективно ничто иное во время судебного процесса Microsoft/Apple по стилю. Пока код является полностью Вашим собственным, графика является Вашим собственным (и да, копируя слишком тесно конкретный , графический элемент как trashcan может быть проблемой), и Вы не делаете клонирующихся элементов, которые являются связанным trademark/tradedress, необходимо быть в рамках закона (в США).
, Конечно, который не означает, что кто-то не может , предъявляют иск Вы. Недостойные судебные процессы запускаются все время для запугивания. Также обратите внимание, что патенты могут касаться взаимодействия пользователя с UI, таким образом, авторское право не могло бы быть Вашей основной проблемой в некоторых случаях.
Если Вы ищете вдохновение дизайна и не пытаетесь использовать существующие битовые массивы, Вы, вероятно, хорошо. Но может быть патент на дизайн и фирменные проблемы, которые защищают конкретный продукт от, приносят перепутанный "копией". Могут также быть определенные патенты, которые защищают способ, которым работает программное обеспечение.
существует практический аспект здесь - если Вы пишете что-то, что является "маленькими фри" владельцу (гм) вдохновляющей работы, Вы никогда не должны будете волноваться об этом. Но если Ваш бизнес зависит от него, вероятно, необходимо консультироваться с адвокатом...
Читайте этот запись в блоге от основного разработчика приложений LLBLGen. Хотя Microsoft строго не защищает авторским правом свою лицензию, она использует юридические средства защитить их инновации/эволюцию в этом конкретном элементе UI.
В программном обеспечении авторское право покрывает сам код и вещи как текстовое содержание или изображения. Проблемой, по поводу которой Вы должны быть взволнованы, не является авторское право или товарные знаки, но патенты. Копирование общего дизайна и набора функций может работать в запутанном состоянии любые патенты, которые они зарегистрировали. Хотя маловероятно, что небольшая компания зарегистрировала бы достаточно патентов, чтобы действительно помешать созданию клона Windows или Linux.
Я могу показывать свой возраст здесь.
существует много серой области, но термин "Стиль", в значительной степени порожденный из судебного процесса.
Читайте на Apple по сравнению с Microsoft. UI является подлежащим охране авторским правом, пока это не единственный способ, которым мог возможно быть создан такой интерфейс. Между прочим, Apple по сравнению с Microsoft не является точно отличным способом судить это, потому что Microsoft уже лицензировала значительную часть UI от Apple:
Apple придумала список 189 элементов GUI; судья решил, что 179 из этих элементов лицензировались для Microsoft в соглашении о Windows 1.0, и большая часть оставления 10 элементами не была copyrightable—, или они были банальны к Apple, или они были единственным возможным способом выразить конкретную идею.
, Даже если это не недопустимо, это, конечно, неэтично.
Я думаю в целом, что ответ не, это не было бы недопустимо. Apple пыталась предъявить иск Microsoft за кражу "стиля" Mac OS, и потерянный... Существует много программ Linux, которые копируют UI подобных Windows-программ почти точно...