i heard that using subString method is String andWhere did you hear that? All it does (in sun's implementation) is create a new string object that references the same underlying char array as the original string with a different offset and count. This is done specifically for performance.
StringBuffer are slow
would iterating the range and appending it to aNo
StringBuffer character by character would be faster?