Java 协议缓冲区能否在重复字段的列表获取器上返回 null?
2022-09-04 03:01:43
假设您有一个重复的字段。
message Foo {
optional int32 val = 1;
}
message Bar {
repeated Foo foo = 1;
}
这将生成方法
List<Foo> getFooList()
是否有任何情况下 getFooList 将返回 null?还是它已经返回一个列表,即使它是空的?
假设您有一个重复的字段。
message Foo {
optional int32 val = 1;
}
message Bar {
repeated Foo foo = 1;
}
这将生成方法
List<Foo> getFooList()
是否有任何情况下 getFooList 将返回 null?还是它已经返回一个列表,即使它是空的?
不,没有返回的情况。事实上,Java protobuf上生成的类中没有一个字段访问器返回;如果字段不存在,它们始终返回默认值。同样,setter 也不允许您设置 。null
null
null
请注意,除非另有指定,否则任何 Java 协议缓冲区方法都不接受或返回 null。
参考资料: https://developers.google.com/protocol-buffers/docs/reference/java-generated