Tengo curiosidad por qué String.indexOf
está devolviendo un 0 (en lugar de -1) cuando se solicita el índice de una cadena vacía dentro de una cadena.Java String.indexOf y cadenas vacías
Los Javadocs solo dicen que este método devuelve el índice en esta cadena de la cadena especificada, -1 si no se encuentra la cadena.
Para mí este comportamiento parece muy inesperado, hubiera esperado un -1. ¿Alguna idea de por qué está ocurriendo este comportamiento inesperado? Yo por lo menos creo que esto vale la pena una nota en Javadocs del método ...
System.out.println("FOO".indexOf("")); // outputs 0 wtf!!!
System.out.println("FOO".indexOf("bar")); // outputs -1 as expected
System.out.println("FOO".indexOf("F")); // outputs 0 as expected
System.out.println("".indexOf("")); // outputs 0 as expected, I think
Sí, y ¿cuál es la pregunta? –
'" foo ".indexOf (" ")' devuelve 0 y '" foo ".substring (0.0)' returns '" "'. Parece consistente, diría yo. –
posible duplicado de http://stackoverflow.com/questions/2568625/indexof-method-returns-0-when-it-should-had-return-1-inc-c-java –