

However it allows you to prevent the memory leak. So, the newer, JDK 7 and later version, method is pretty costly in terms of memory using. In this case the garbage collector may destroy the object x, while the memory array remains, and it is used by y and z. What if the original object x has already been used and left without any references on it? In a program all other objects work with y and z only. Only x refers to the elements from the second to the sixth, and z refers to the x elements from zero to third. Now we have an object x stored in a special area of memory called the heap, and two objects y and z referring to the same object x. What does it mean? Let's assume we have a string x, and we create a couple of substrings using substring. The JDK 6 method was substituted because of memory leak problem. However the second Object stores two more variables, the first symbol of substring and the second is about how many symbols are in substring. Instead of this, both Objects store a reference to the same Character Array. When a substring is created in JDK 6, the array of characters is not copied into the new String object. Java provides two methods for extracting substrings from a string: String substring(. Thus, in JDK 6, String had three fields of char value (character array), int offset (index of the first character in the array), and int count (the number of characters in the array). A substring is a contiguous sequence of characters within a string. substring() public String substring(int beginIndex) public String substring(int beginIndex, int endIndex). At the time of JDK 6, two more variables were stored there: the number of the first character in the character array and their quantity. The Object of type String inside is just an array of characters, or rather, contains an array of characters. In JDK 6 method substring() works in a different way.Īs you probably know, String is an immutable Class and to get the substring Java used this immutability earlier in JDK 6.

Java substring syntax code#
JDK 6 version of substringEven today on some big projects you may meet legacy code base from the JDK 6 times. Public static void main(String args) throws IOException in the form of an array). So here is the solution of this particular problem:
Java substring syntax how to#
You’ve already known how to get a substring in Java. You've got a String and you need to find a substring "CodeGym" in it. How to get a substring in Java (particular)This first Java substring example is pretty easy. How to find the longest common substring.

