Другое событие NullPointerException
возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.
String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
System.out.println(phrase.equals(keyPhrase));
}
Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals
для гарантированного непустого объекта.
Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null
.
Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.
String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
System.out.println(phrase.equals(keyPhrase));
}
Зависит от Вашего местоположения. В ЕС конкретно разрешено (статья 6 конвенция программного обеспечения ЕС) "перепроектировать форматы файлов в целях совместимости",
В целом трудно предотвратить кого-то читающего формат файла, были примеры, где Вы запрещаетесь от записи файла, потому что формат содержит запатентованную технологию (если патенты на программное обеспечение позволяются в Вашей стране). Это имело место с GIF в течение многих лет.
Зависит от рассматриваемого формата, Вашего местоположения, и т.д. И это не "раскалывается", больше как "инженерный анализ".
Консультируются с адвокатом, с лицензиями приложений, которые производят форматы!
ArsTechnica недавно опубликовал хорошая статья о законности инженерного анализа в контексте Google Chrome с помощью недокументированного поведения в окнах для части, он - средства обеспечения безопасности (для достижения DEP на некоторых версиях Windows XP, например).
IANAL, но да, я вполне уверен, это законно, пока Вы не обходите некоторую систему защиты от копирования или что-то. Посмотрите как способность OpenOffice в качестве примера прочитать документы Word.
Все это зависит от законов в Вашей стране и намерении, позади которого Вы перепроектируете формат файла. Необходимо согласовать с адвокатом/адвокатом/адвокатом, чтобы быть бесспорными. Вы согласовали с компанией, которая владеет форматом файла, чтобы видеть, существует ли опубликованная спецификация или другая информация, которая позволила бы Вам взаимодействовать без потребности перепроектировать?
Интересно, покрыто ли это DMCA в США? Как всегда, Ваш лучший выбор состоит в том, чтобы спросить адвоката.
Если необходимо нарушить условия EULA, чтобы сделать так, это недопустимо. Хотя большинство состояний имеет законы, явно разрешающие инженерный анализ, именно мое понимание, которое не 'неотъемлемое право', но один, можно отказаться по контракту. (Другими словами, разрешение инженерного анализа не препятствует тому, чтобы Вы согласились не на так или иначе.) Некоторая юрисдикция идет далее, однако, и явно указывает, что инженерный анализ всегда разрешается, даже если в контракте говорится иначе.
, Если Вы живете в США, DMCA обычно запрещает инженерный анализ, если необходимо обойти "технологию защиты от копирования", чтобы сделать так, но это делает определенное исключение для cirucumventing им в целях создания чего-то compatiable с форматом.
Иначе, это , вероятно законно. Независимо от ответа здесь, тем не менее, консультируются с адвокатом.