java if语句似乎不起作用
我的项目中有以下代码:java if语句似乎不起作用,java,Java,我的项目中有以下代码: private void initCS() { CarsMakerData cmd = NetWorkData.data[key - 1]; if (cmd.portClient != 0); { System.out.println(cmd.portClient); client = new CarsMakerClient(this, cmd.ipClient, cmd.portClient); c
private void initCS() {
CarsMakerData cmd = NetWorkData.data[key - 1];
if (cmd.portClient != 0);
{
System.out.println(cmd.portClient);
client = new CarsMakerClient(this, cmd.ipClient, cmd.portClient);
client.start();
}
}
我得到以下输出:
770
0
0
0
我期待的是770,但不是0
数组NetWorkData.data在静态构造函数中初始化。键在函数的所有四个调用中都是唯一的
有人能解释我为什么得到这些零吗?这种情况会因为多线程而发生吗
我在linux系统上使用eclipse,使用OpenJDK2.4.7
if (cmd.portClient != 0);
去掉分号
分号充当空语句。上面的行表示:如果cmd.portClient不是零,则不执行任何操作。后面的{和}之间的块与if语句无关,将始终执行。正确,if语句在Java中不起作用。什么类型的portClient?如果您发布一个请检查分号在代码中的位置会有所帮助。投票以简单的印刷错误结束…啊…所以if语句后面有一个分号:真的。然而,这应该仅仅是一个简单的印刷错误。