An interface extending List<String> used for repeated string fields to provide optional
access to the data as a list of ByteStrings. The underlying implementation stores values as
either ByteStrings or Strings (see LazyStringArrayList) depending on how the value was
initialized or last read, and it is often more efficient to deal with lists of ByteStrings when
handling protos that have been deserialized from bytes.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Interface ProtocolStringList (3.19.4)\n\n public interface ProtocolStringList extends List\u003cString\u003e\n\nAn interface extending `List\u003cString\u003e` used for repeated string fields to provide optional\naccess to the data as a list of ByteStrings. The underlying implementation stores values as\neither ByteStrings or Strings (see [LazyStringArrayList](/java/docs/reference/protobuf/latest/com.google.protobuf.LazyStringArrayList)) depending on how the value was\ninitialized or last read, and it is often more efficient to deal with lists of ByteStrings when\nhandling protos that have been deserialized from bytes. \n\nImplements\n----------\n\n[List\\\u003cString\\\u003e](https://docs.oracle.com/javase/8/docs/api/java/util/List\u003cjava/lang/String\u003e.html)\n\nMethods\n-------\n\n### asByteStringList()\n\n public abstract List\u003cByteString\u003e asByteStringList()\n\nReturns a view of the data as a list of ByteStrings."]]