Я добавил экран типа установки в свой установщик install4j. В соответствии с выбранным типом установки скачиваются и разархивируются определенные файлы. Эти действия сгруппированы в четыре группы и находятся в разделе «Установка». Чтобы управлять этим потоком выполнения, я использую выражение условия для каждой группы в зависимости от выбранного типа установки.
Вот код:
if ((String)context.getVariable("sys.installationTypeId") == "424")
return true;
return false;
Проблема в том, что он всегда возвращает false (не выполняется), даже если я выбираю тип установки.
кто-нибудь знает, почему это произошло? Может быть,
(String)context.getVariable("sys.installationTypeId")
это не строка? Может это массив? Как правильно написать условие?
Спасибо!
Решение найдено!
Я нашел два обходных пути для этой проблемы
- Используйте числовые значения для installTypeId и преобразуйте их в целое число:
if (Integer.parseInt(context.getVariable("sys.installationTypeId").toString()) == 424)
return true;
return false;
- Используйте метод equals() внутри оператора if. Это позволяет использовать пользовательские идентификаторы.
if (((String)context.getVariable("sys.installationTypeId")).equals("424"))
return true;
return false;