Я пытаюсь отладить мой java код. Я устанавливаю условную точку останова. Однако при отладке отображается ошибка «Условная точка останова содержит ошибки компиляции».
Ниже приведен мой фрагмент кода:
public RecipientsDTO readRecipientsFromStream(InputStream inputStream) {
ICsvListReader listReader = null;
List<Object> list;
Set<String> values = new HashSet<>();
int numberOfDuplicates = 0;
try {
listReader = new CsvListReader(new InputStreamReader(inputStream),
CsvPreference.STANDARD_PREFERENCE);
while (listReader.read() != null) {
CellProcessor[] processors;
if (listReader.length() == SINGLE_COLUMN_PROCESSOR.length) {
processors = SINGLE_COLUMN_PROCESSOR;
} else {
processors = TWO_COLUMN_PROCESSOR;
}
list = listReader.executeProcessors(processors);
String recipient = (String) list.get(0);
if (!recipient.contains("@")) {
recipient = recipient.replaceAll("[ \\-\\(\\);]", "");
}
if (!values.contains(recipient)) {
values.add(recipient);
} else {
numberOfDuplicates++;
}
}
} catch (SuperCsvConstraintViolationException e) {
log.error("Error parsing csv: {}", e.getMessage());
throw new ParsingFileException(String.format("At Line Number: %s, Message: %s",
listReader != null ? listReader.getLineNumber() : "Unknown", e.getMessage()));
} catch (Exception e) {
log.error("Error parsing csv: {}", e.getMessage());
throw new ParsingFileException();
}
return new RecipientsDTO().numbers(values).numberOfDuplicates(numberOfDuplicates);
}
Это моя условная точка останова.
recipient.equals("1")
Однако это показывает, что получатель не может быть определен:
Ниже приведен мой скриншот условной точки останова из затмения: