Я использую следующий кодСомнение, если/иначе, если логика
String sample = " : : ";
String[] splitTime = sample.split(":");
if (splitTime[0].trim().equals("") ||
splitTime[0].trim().equals(null)) {
System.out.println("Inside Split 0");
splitTime[0] = "0";
} else if (splitTime[1].trim().equals("") ||
splitTime[1].trim().equals(null)) {
System.out.println("Inside Split 1");
splitTime[1] = "0";
}else if (splitTime[2].trim().equals("") ||
splitTime[2].trim().equals(null)) {
System.out.println("Inside Split2");
splitTime[2] = "0";
}
System.out.println("Value 1 :"+splitTime[0]);
System.out.println("Value 2 :"+splitTime[1]);
System.out.println("Value 3 :"+splitTime[2]);
ВЫВОД:
Внутри Split 0
Значение 1: 0
Значение 2:
Значение 3:
I не знаю, почему он не входит во второе и третье утверждение if-else. Может кто-нибудь мне помочь?
Попробуйте решить эту проблему с помощью Еогеасп-цикл: Еогеасп (String элемент в splitTime) {/ * выполнять работу для каждого элемента * /} – Groo
foreach здесь бесполезно, потому что строки неизменяемы, а исходные значения должны быть перезаписаны с использованием индекса массива. – Alnitak