java中else语句有错_java – if和else语句同时虽然不应该是可能的

我在日食中遇到了一个非常奇怪的问题.

看下面的代码:

public void addItem(ArrayList

在for循环中,检查对象的实例类型并相应地添加到布局中.

我遇到的问题是,当对象是Integer类型时,它进入if语句,执行语句中的两行,然后不是在循环中留下新的循环,而是跳转到else语句,执行row columnList.get(1).addComponent(hLayout)(跳过else语句中的第一行).

它正在执行else语句的一部分,即使它已经进入了if语句.我知道这是因为我在我正在开发的应用程序中看到它的产品,并且我在调试代码时以编程方式看到它.

如果我要将问题分解为最小的组件:

i = 0;

if(true) {

i++;

} else {

i++;

}

System.out.println(i);

我的问题是打印输出:2

我在这里不知所措.我的IDE有问题吗?有没有人遇到过这个,并且知道可能出现什么问题?

编辑:

我试过转换语句,可以得出结论,模式会重复.

for(Object object : objectLists) {

if(object instanceof ChipSlotGrid) {

hLayout.addComponent((ChipSlotGrid)object,Alignment.MIDDLE_CENTER);

columnList.get(1).addComponent(hLayout);

} else if(object instanceof String || object instanceof Integer) {

hLayout.addComponent(Cf.h1(object.toString()),Alignment.MIDDLE_CENTER);

columnList.get(0).addComponent(hLayout);

}

}

编辑2:从Jon的请求中我添加了日志记录.

for(Object object : objectLists) {

if(object instanceof ChipSlotGrid) {

log.info("Inside if");

hLayout.addComponent((ChipSlotGrid)object,Alignment.MIDDLE_CENTER);

columnList.get(1).addComponent(hLayout);

} else if(object instanceof String || object instanceof Integer) {

log.info("Inside else");

hLayout.addComponent(Cf.h1(object.toString()),Alignment.MIDDLE_CENTER);

columnList.get(0).addComponent(hLayout);

}

}

当它从if语句跳转到else语句时,也会跳过else语句中的日志. (我希望这是你要求的测试)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值