Здравствуйте, Дмитрий Писаренко, Вы писали:
ДП>Мне надо проверить текст — является ли этот текст временем в формате HH:MM?
ДП> final SimpleDateFormat TIME_FORMAT = new SimpleDateFormat("HH:mm");
ДП> Date time = null;
ДП> time = TIME_FORMAT.parse(aTimeAsString);
ДП>Проблема в том, что такая проверка пропускает тексты вроде "27:95". Парсер считает это нормальным, и проверка с помощью календаря (calendar) тоже ничего не даёт — "25:00" переводится как "02:00".
1) календарь для проверки не нужен
2) см. DateFormat.setLenient
3) парсить надо с помощью parse(String s, ParsePosition pp), иначе он будет пропускать строки вида "04:56abrakadabra", а так, можно будет сравнить позицию, на которой он завершил парсинг с длиной строки