【发布时间】:2013-06-12 19:59:30
【问题描述】:
我有一个问题。
在我的字节码中,我使用此代码计算像 if((1==1) && (2==2)){} 这样的语句
if (node.getOperator().equals(Operator.LOGICAL_AND)) {
mn.instructions.add(new InsnNode(Opcodes.IAND));
jmp = new JumpInsnNode(Opcodes.IFNE, null);
mn.instructions.add(jmp);
}
发生的情况是,我需要计算左右两个运算符的表达式才能得到结果。第二种方法很明显:如果左边的表达式为零,则离开。这样你就不必同时计算两者侧面。
我的问题是:用第一种方式做错了吗?
提前致谢。
【问题讨论】:
标签: java compiler-construction jvm bytecode