Как удалить элемент из повторяющегося поля в protobuf Java?

Есть прото с повторяющимся строковым полем:

repeated string hosts = 3;

Есть значения, добавленные к нему уже через:

_settings.addHost( host );

Когда пользователь позже удаляет хост, я хочу, чтобы все ранее добавленные хосты оставались в списке, но удаленный был удален. В настоящее время кэширование списка, очистка списка, добавление всех элементов, которые не соответствуют удаленному элементу. Надеюсь, есть лучший способ.

    ProtocolStringList hostList = _displaySettings.getHostList();
    _displaySettings.clearHost();
    hostList.forEach( h -> {
        if( !host.equalsIgnoreCase( h ) )
            _displaySettings.addHost( h );
    } );

Я вижу закрытый вопрос об этом, но ему четыре года без объяснения, почему он помечен как "не исправить".
https://github.com/protocolbuffers/protobuf/issues/968

0 ответов

Другие вопросы по тегам