Could anyone please explain why "return str" line never executes?
public static String reverseString(String str){
String reverse="";
if(str.length() == 1){
return str; //at one point this condition will be true, but value never returns
} else {
reverse += str.charAt(str.length()-1) + reverseString(str.substring(0,str.length()-1));
return reverse;
}
}
public static void main(String a[]) {
System.out.println(reverseString("Test"));
}

return str;will only executed if the string has a length of 1, Test has a length of 4if (str.length() == 1)when it getsstr = "T"value during recursion calls.