Другое событие 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));
}
Выбор JVM для Windows CE в целом (включая Pocket PC и Windows Mobile):
Если Вы надеетесь иметь общую кодовую базу между WinMo и Symbina, Вы могли бы также посмотреть на Красные Пять Labs. У них есть время выполнения Symbian, которое позволяет Вам запускать Компактные приложения Платформы, таким образом, у Вас могла быть кодовая база CF, которая работает над обоими. Я оценил ранние беты предложения Красного Five, но не использовал его с тех пор, таким образом, я не могу засвидетельствовать качество или покрытие.
Причина состояла в том, чтобы иметь ту же кодовую базу в WinMo и Symbian.
Мое персональное предпочтение состояло бы в том, чтобы иметь встроенное решение на обоих. Но это означало бы, разрабатывая и поддерживая два набора кодовых баз. И управление не предпочитает это по некоторым причинам ;)
Prakash, так как Ваша цель состоит в том, чтобы иметь общую кодовую базу между гарнитурами J2ME и WinMo, alcheMo. alcheMo выезда не является JVM, а полностью автоматизированный J2ME к собственному Win32 решение для портирования WinMo.
Это не действительно ответ, но разве не имело бы большего смысла предназначаться для Вашего программного обеспечения в платформе.NET компактный выпуск, если Вы разрабатываете для WinMo?
Существует 2 JVMs для WinMo, Mysaifu для J2SE и IBM WebSphere Всюду Микро Среда для J2ME.
HP также имел JVM по имени HP Chai на их старых моделях Pocket PC
Даже если немного запоздать с этим вопросом и просто для полноты картины: JBlend (micro) - это среда Java для Windows Mobile 6.1 и 6.5, которая является используется, например, на устройствах HTC. Это позволяет использовать CLDC и MIDP 1.0 и 2.0.