Это из-за "else if
".
Если у вас есть код, который делает:
if (a) {
} else if (b) {
}
Тогда вторая ветвь никогда не может быть выполнена, если первая ветвь была.
Вместо этого вам нужно:
if (a) {
}
if (b) {
}
чтобы сделать условия независимыми.
Кстати, String.trim()
не может вернуть null
, и вы не гарантированно получите три элемента в выводе из String.split()
. Потенциально лучший код будет:
String sample = " : : ";
String[] splitTime = sample.split(":");
for (int i = 0; i < splitTime.length; ++i) {
splitTime[i] = splitTime[i].trim();
if (splitTime[i].length() == 0) {
splitTime[i] = "0";
}
}