无法将sheetname与string值进行比较

我需要的是比较或search工作表名称中的string..

我的意思是,excel文件可能有多个表单,但是只有具有特定string的表单才能表示

只有名为“FORMATO SIVE 04”的纸张将被处理…

我正在debugging像疯了一样,我感到困惑…我的代码是这样的

Workbook eworkbook = WorkbookFactory.create(Archivo); int totalsheet = eworkbook.getNumberOfSheets(); System.out.println("fuerawhile"+totalsheet); sheetName=new String[totalsheet]; //String nombrehoja = eworkbook.getSheetName(0).toString(); //System.out.println(nombrehoja); Sheet sheet = null; while(i<totalsheet){ sheetName[i] = eworkbook.getSheetName(i); System.out.println("Antes IF :" + sheetName[i]); FORMATO = sheetName[i]; if(FORMATO == "FORMATO SIVE 04"){ flag = true; } if(flag){ System.out.println("dentroIF : " + sheetName[i]); sheet = eworkbook.getSheet(sheetName[i].toString()); System.out.println("Exito"); } else if (!flag){ System.out.println("Error"); } System.out.println("dentrowhile : " + sheetName[i]); i++; } 

但它不给我真的:( 在这里输入图像说明

有人有什么想法吗?

我觉得这很容易,但我有很多时间在这个,我想我是对:(

提前致谢

在Java中,不应该使用==来比较String (除非你想testing实习生逻辑,也许)。 身高:

 if( "FORMATO SIVE 04".equals(FORMATO) ) { .... 

如果你确定FORMATO永远不会是null ,你也可以使用更清晰的forms:

 if( FORMATO.equals("FORMATO SIVE 04") ) {