我已将安装类型屏幕添加到我的 install4j 安装程序。根据选定的安装类型,某些文件会被下载并解压缩。这些操作分为四组并位于“安装”下。为了控制此执行流程,我根据所选的安装类型在每个组上使用条件表达式
这是代码:
if ((String)context.getVariable("sys.installationTypeId") == "424")
return true;
return false;
问题是即使我选择了安装类型,它也总是返回 false (未执行)。
有谁知道为什么会这样?也许
(String)context.getVariable("sys.installationTypeId")
不是字符串吗?也许它是一个数组?如何正确编写条件?
谢谢!
找到解决方案!
我为这个问题找到了两种解决方法
- 对 installationTypeId 使用数值并将其转换为整数:
if (Integer.parseInt(context.getVariable("sys.installationTypeId").toString()) == 424)
return true;
return false;
- 在 if 语句中使用 equals() 方法。它允许使用自定义 ID。
if (((String)context.getVariable("sys.installationTypeId")).equals("424"))
return true;
return false;