Java Protobuf字段名和数字以意外的方式大写

Java Protobuf字段名和数字以意外的方式大写,java,protocol-buffers,protoc,Java,Protocol Buffers,Protoc,我有一个信息: message Image { string link_40dp = 1; } 编译后,在Java中,字段名为link40Dp(数字后的第一个字母大写)。但是,我希望字段名是link40dp(d小写) 这是预期行为还是错误?还有其他类似的角落案例吗 我正在使用Protobuf Gradle Plugin v0.8.5和Protoc v3.6.1以Java生成消息。字段名已从(带下划线)转换为(带音节大写) 因此,对于link\u 40dpcamel case将提供“l

我有一个信息:

message Image {

    string link_40dp = 1;
}
编译后,在Java中,字段名为
link40Dp
(数字后的第一个字母大写)。但是,我希望字段名是
link40dp
d
小写)

这是预期行为还是错误?还有其他类似的角落案例吗


我正在使用
Protobuf Gradle Plugin v0.8.5
Protoc v3.6.1
以Java生成消息。

字段名已从(带下划线)转换为(带音节大写)

因此,对于
link\u 40dp
camel case将提供
“link”+大写(“40dp”)
。 其中大写(string)将第一个字母转换为大写

我认为ApacheCommons库将“40dp”大写为“40dp”(无变化),但显然这里的“更智能”大写跳过了数字

这至少表明原始字符串包含下划线:
link\u 40dp
link4\u 0dp
link40\u dp


所以这是一种预期的行为,尽管有些出乎意料。

我查阅了资料,发现这是预期的行为

请参见资本化部分。所有大写规则都可以在代码段中找到