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

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

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

...