日期:2014-05-20  浏览次数:20772 次

求助:if语句的条件是哪里错了?
if(System.getProperty("os.name").toString().equals("Linux") ){
System.out.println("操作系统3:"+System.getProperty("os.name"));
SMAPIConfig.setConfigFilePath("../webapps/CRMS");
  }
  else {
System.out.println("操作系统4:"+System.getProperty("os.name"));
SMAPIConfig.setConfigFilePath("../webapps/CRMS");
  }

为何两个分支均不能执行?不论是liunx还是windows,都不能执行后面的语句?

------解决方案--------------------
win7测试正常
------解决方案--------------------
有可能就是NullPointerException了,if里面调换一下看看
Java code

if("Linux".equals(System.getProperty("os.name")) ){
System.out.println("操作系统3:"+System.getProperty("os.name"));
SMAPIConfig.setConfigFilePath("../webapps/CRMS");
  }
  else {
System.out.println("操作系统4:"+System.getProperty("os.name"));
SMAPIConfig.setConfigFilePath("../webapps/CRMS");
  }

------解决方案--------------------
Java code

String osname = System.getProperty("os.name");
if (osname != null && osname.toUpperCase().contains("Linux".toUpperCase())) {
    System.out.println("操作系统3:" + osname);
    SMAPIConfig.setConfigFilePath("../webapps/CRMS");
} else {
    System.out.println("操作系统4:" + osname);
    SMAPIConfig.setConfigFilePath("../webapps/CRMS");
}