¿Cómo funciona la subcadena en Java?