Как subSequence реализовать в одну строку?

Есть задание. Написать статический класс AsciiCharSequence, реализующий компактное хранение последовательности ASCII-символов (их коды влезают в один байт) в массиве байт. По сравнению с классом String из Java 8, хранящим каждый символ как char, AsciiCharSequence будет занимать в два раза меньше памяти. Класс AsciiCharSequence должен: реализовывать интерфейс java.lang.CharSequence; иметь конструктор, принимающий массив байт; определять методы length(), charAt(), subSequence() и toString()

            public static class AsciiCharSequence implements java.lang.CharSequence {
    
                private byte[] bytes;
    
                public AsciiCharSequence(byte[] bytes) {
                    this.bytes = bytes.clone();
                }
    
                @Override
                public int length() {
                    return bytes.length;
                }
    
                @Override
                public char charAt(int i) {
                    return (char) bytes[i];
                }
    
                @Override
                public String toString() {
                    return new String(bytes);
    
                }
    
                public AsciiCharSequence subSequence(int i, int j) {
                    byte[] ex = new byte[j - i];
                    for (int a = 0; a < j - i; a++) {
                        ex[a] = (byte) this.charAt(i + a);
                    }
                    AsciiCharSequence x = new AsciiCharSequence(ex);
    
                    return x;
                }
    
            }

Ответы (2 шт):

Автор решения: Андрей Колычев

Собственно с java 9 уже доступны компактные строки, которые на хранения символа используют 1 байт. Вам по сути надо скопировать реализацию. Странное задание. Впрочем, можете не копировать, а сделать сами. Про компактные строки можно почитать тут https://habr.com/ru/company/otus/blog/426621/

→ Ссылка
Автор решения: Муха цц

return new AsciiCharSequence(Arrays.copyOfRange(byte[] bytes, int i, int j)); Ответ для тех кто забредёт сюда за ним)

→ Ссылка