Método Java String.subsequence ()

Digamos, String str = "hola mundo"; Para saludar, podemos usar str.subSequence (0, 5). Si es una cadena indexada basada en 0, ¿por qué no escribimos str.subSequence (0.4) ya que 'o' tiene el índice 4?

preguntado el 28 de agosto de 11 a las 05:08

4 Respuestas

El valor del primer argumento es inclusivo mientras que el segundo es exclusivo.

Respondido 28 ago 11, 09:08

Como se especifica en el javadoc - Ryan Stewart

Consulte el javadoc para conocer el método.

public CharSequence subSequence(int beginIndex,int endIndex)

Devuelve una nueva secuencia de caracteres que es una subsecuencia de esta secuencia. Una invocación de este método del formulario

 str.subSequence(begin, end)

se comporta exactamente de la misma manera que la invocación

 str.substring(begin, end)

Este método está definido para que la clase String pueda implementar la interfaz CharSequence.

Especificado por: subSequence en la interfaz CharSequence

parámetros: beginIndex - el índice de inicio, inclusive. endIndex - el índice final, exclusivo.

Devuelve: la subsecuencia especificada.

Lanza IndexOutOfBoundsException - si beginIndex o endIndex son negativos, si endIndex es mayor que length (), o si beginIndex es mayor que startIndex

Respondido 28 ago 11, 09:08

Aquí en este metodo subSequence () o SubStribg (), La segunda variable no es de base cero, así que tenemos que calcular hasta segunda variable-1.

Respondido 28 ago 11, 09:08

En realidad, no tiene nada que ver con el "0-ness" en absoluto. La API lo tiene claro y da un ejemplo.

Substring y subSequence devolverán el conjunto de caracteres del conjunto [n, m-1]. O en otras palabras, todos los caracteres de la subcadena excepto el quinto carácter, o más concretamente, los caracteres 5, 0, 1, 2 y 3.

De esa forma podrías hacer:

subcadena (desplazamiento, longitud + desplazamiento); ¿Te das cuenta de que hola tiene 5 letras?

(Corregido ahora).

Respondido el 03 de Septiembre de 11 a las 01:09

[n, m-1) no es correcto. O [n, m) o [n, m-1]. Además, el segundo argumento no es la longitud. - Ryan Stewart

Sí, esta parte es incorrecta. Lo que sí te permite hacer es extraer una cadena. LENGTH caracteres de largo usando ...substring(offset, offset+LENGTH) Tener el índice final exclusivo en realidad elimina una gran cantidad de -1s que ensuciarían el código. - Mark Peters

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.