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语句后面有一个分号:真的。然而,这应该仅仅是一个简单的印刷错误。