Работаю с Date
.
Есть определенный List data
.
В нем хранятся день рождения людей. Проблема в том, что есть дата полная (Например, "19.02.1996"), а есть без года ("25.03"), а есть вообще без возраста(null).
Я делаю метод чтобы высчитать возраст этих людей, но не могу придумать как откинуть тех людей, у которых не указан возраст.
Вот кусок кода, который сейчас у меня имеется:
for (int i = 0; i < data.size(); i++) {
String num = data.get(i).getBdate();
if (num != null) {
System.out.println(num);
String dataFormat = "dd.MM.yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dataFormat);
...
}
Хочу сделать такое условие if(num соответствует dataFormat){ //Считать возраст}
Можно воспользоваться методом isValidFormat
из этого ответа, добавив в него обработку случая, когда вместо даты null
.
Вот пример:
public static void main(String[] args) {
String dateFormat = "dd.MM.yyyy";
String[] arr = {
"19.02.1996",
"25.03",
null
};
for (String date: arr) {
if (isValidFormat(dateFormat, date)) { // Проверка даты на валидность
System.out.println(date);
// Делаем, что надо
}
}
}
public static boolean isValidFormat(String format, String value) {
if (value == null)
return false;
Date date = null;
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
date = sdf.parse(value);
if (!value.equals(sdf.format(date))) {
date = null;
}
} catch (ParseException ex) {}
return date != null;
}
Такой способ позволит вам легко изменять формат даты, на соответствие которому нужно её проверять.
list.stream()
.filter(data->!data.getBDay().isEmpty())
.filter(data->data.getBDay().length > 5)
.forEach(data->{
//Ваш код
});
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Подскажите пожалуйста, как реализуются коллизии в map java и чем отличаются реализации этих коллизий (массивы и LinkedList)?
Для своей библиотеки решил использовать паттерн билдераКаким образом можно полностью защитить структуру от вылетов приложения, связанных...
Здравствуйте, в fsv не могу понять, как сделать границы виджета прозрачными или же поменять их цветВ xml не нашёл нужного аттрибута, может быть...
Всем привет пишу мультипользовательский портал, столкнулся с такой проблемойВремя от времени получаю такую ошибку "ExceptionInitializer error at db