Интерфейс CharSequence

373
28 марта 2017, 11:41

Имеется следующий код:

    public class AsciiCharSequence implements CharSequence {
    private byte[] content;
    public AsciiCharSequence(byte[] content) {
        this.content = content;
    }
@Override
    public CharSequence subSequence(int i, int i1) {
        byte[] massive = Arrays.copyOfRange(content, i, i1);
        return  new AsciiCharSequence(massive);
    }
}

Мне все понятно, что происходит во всех строках кода, кроме самой последней, а именно в return new AsciiCharSequence(massive); Расскажите, пож-а, по-подробнее что происходит в этой строке. Спасибо.

Answer 1

В этой строке создается новый объект AsciiCharSequence в конструктор которого передается массив байтов massive.

Новый объект возвращается из метода.

Данная строка эквивалентна следующему коду:

AsciiCharSequence result = new AsciiCharSequence(massive);
return result;

Вызываемый конструктор определен в этом же коде:

public AsciiCharSequence(byte[] content) {
READ ALSO
Как тестировать многопоточный код с Junit?

Как тестировать многопоточный код с Junit?

У меня код, который нужно протестировать на потокобезопасность, я хочу сделать это при помощи junit, подскажите как это делается?

322
Сборка Maven проекта

Сборка Maven проекта

Проект разбит на 3 модуля:

224
Правильная архитектура сервлета Java

Правильная архитектура сервлета Java

Архитектура сервлета: слой view(jsp) обращается к классу расширяющему HttpServlet

285
Java взаимодействие с USB

Java взаимодействие с USB

Есть приложение написанное на JAVA в intellij IDEA под Windows 64Необходимо сделать usb ключ

272