Я читаю ячейки из таблицы Excel. Я читаю первую ячейку в каждой строке и сравниваю их с объектом String, который я передал в функцию. Функция корректно перебирает все строки и обращается к первой ячейке в каждой строке, но при сравнении их с параметром объекта String оператор IF не выполняется, несмотря на то, что значение, полученное из ячейки, и параметр String выдают одно и то же. Я использовал операторы '==', а также .equals (), но, кажется, ничто не позволяет выполнить оператор IF.
public static ArrayList<Integer> returnCurrency(String currency, String fileName) throws IOException
{
FileInputStream excelFile = new FileInputStream(newFile(fileName));
Workbook workbook = new XSSFWorkbook(excelFile);
Sheet sheet = workbook.getSheetAt(0);
Iterator<Row> iterator = sheet.iterator();
ArrayList<Double> currencyRateArray = new ArrayList<Double>();
for( int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++)
{
Row row = sheet.getRow(rowNum);
Cell tempCell = row.getCell(0);
System.out.printf("temp cell has value of:%s\n",tempCell.getStringCellValue());
System.out.printf("currency variable is: %s\n", currency);
if(currency.equals(tempCellString))
{
System.out.println("Found the currency\n");
}
}
}
Когда я передаю параметр String как «USD», обе инструкции печати печатают «USD», но никогда не будут печатать «Найдено валюту», поскольку эта инструкция IF не выполняется. Любая помощь будет оценена:)