Есть прото с повторяющимся строковым полем:
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