antony.trupe antony.trupe - 4 months ago 19
Java Question

up to first N characters

How do I get up to the first n characters of a string in java without doing a size check first(inline is acceptable) or risking an

IndexOutOfBoundsException
?

Answer

Here's a neat solution:

String upToNCharacters = s.substring(0, Math.min(s.length(), n));

Opinion: while this solution is "neat", I think it is actually less readable than a solution that uses if / else in the obvious way. If the reader hasn't seen this trick, he/she has to think harder to understand the code. IMO, the code's meaning is more obvious in the if / else version.

Comments