Q:

Java String::substring changes in the past

I have to do bugfixes in a very old code (pre 2005) in which the below signature of String::substring is used. 
public String substring(int beginIndex, int endIndex)

Now it contains every character from beginIndex till endIndex-1.  Is it possible that in the past it also contained the character on endIndex?  
In the code it looks like the following:
String str = line.substring(119,  120);

and it is compared to a 2 letter string. 
Does anyone have any information about this? 

A:

The signature or the working of the String#substring(int beginIndex, int endIndex) method has never changed.  
I've been working on Java since around 2003 and I know it has been the same.  You can verify which version of Java you have your code running on all these years and check the corresponding documentation from Oracle's Archives where you get docs for all the way back to Java 1.1:
http://www.oracle.com/technetwork/java/archive-139210.html
Take a look. 

Hope this helps!