java - Multiple string method chained in single code -
java - Multiple string method chained in single code -
i working on bit of code
public class simplestringtest { public static void main(string args[]) { string ints="123456789"; system.out.println(ints.concat("0").substring(ints.indexof("2"),ints.indexof("0"))); }
as per knowledge on java "when multiple methods chained on single code statement, methods execute left right" then, why bit of code throwing stringindexoutofbondsexception?
thanks in advance, gpar
because string
s immutable.
by invoking concat
, not modifying ints
, creating new string
.
therefore time invoke ints.indexof("0")
, ints
still equal former value , indexof
invocation returns -1
, in turn outer bound of substring
.
try counter-example mutable charsequence
such stringbuilder
:
stringbuilder ints = new stringbuilder("123456789"); system.out.println(ints.append("0").substring(ints.indexof("2"),ints.indexof("0")));
output
23456789
java string
Comments
Post a Comment