MergingCharSequence::subSequence optimization

This commit is contained in:
Ilya Ryzhenkov
2016-07-29 21:06:00 +03:00
committed by nik
parent 57e088fe6d
commit d97c949229
@@ -42,6 +42,7 @@ public class MergingCharSequence implements CharSequence {
@Override
public CharSequence subSequence(int start, int end) {
if (start == 0 && end == length()) return this;
if (start < s1.length() && end < s1.length()) return s1.subSequence(start, end);
if (start >= s1.length() && end >= s1.length()) return s2.subSequence(start - s1.length(), end - s1.length());
return new MergingCharSequence(s1.subSequence(start, s1.length()), s2.subSequence(0, end - s1.length()));