Re[4]: Замыкания и Reference Counting
От: Worminator X Россия #StandWithPalestine 🖤🤍💚
Дата: 20.10.24 21:49
Оценка: 1 (1)
Здравствуйте, vsb, Вы писали:

vsb>В Java и сейчас так (та ещё дурость).


У меня на рабочем проекте (OpenJDK 21) компилируется без ошибок:
    private void filterBy_SubjectTypeCode_Inn(@NonNull TARLSubjectInfoGetListInParam subjectSet,
                                              @NonNull List<GoldSubjectRecord> goldSubjectRecords) {
        if (subjectSet.getCommon() != null) {
            Integer idSubjectType = idTypeCacheService.getIdType(subjectSet.getCommon().getSSubjectTypeCode());
            String sInn = subjectSet.getCommon().getSInn();
            if (idSubjectType != null && sInn != null) {
                mdmDataManageService
                        .getTarantoolObjectByField("sINN", sInn, GoldSubjectRecord.class)
                        .stream()
                        .filter(record -> record.getIdSubjectType().equals(idSubjectType))
                        .forEach(goldSubjectRecords::add);
            }
        }
    }

Раньше обязательно требовало final для таких переменных.

vsb>Поле неизменяемое, а содержимое изменяемое.


В Java полно подобных косяков, к сожалению. Язык из костылей, прямо аналог Linux в мире ЯП. Но там как раз GC, разруливающий циклические зависимости.
Как запру я тебя за железный замок, за дубовую дверь окованную,
Чтоб свету божьего ты не видела, мое имя честное не порочила…
М. Лермонтов. Песня про царя Ивана Васильевича, молодого опричника и удалого купца Калашникова
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.