此文档已经不再维护。您当前查看的是快照版本。如果想要查看最新版本的文档,请参阅最新版本。
| ptoto类型 | java类型 | 
|---|---|
| double | double | 
| float | float | 
| int32 | int | 
| int64 | long | 
| uint32 | int[注] | 
| uint64 | long[注] | 
| sint32 | int | 
| sint64 | long | 
| fixed32 | int[注] | 
| fixed64 | long[注] | 
| sfixed32 | int | 
| sfixed64 | long | 
| bool | boolean | 
| string | String | 
| bytes | ByteString | 
[注]在Java中,无符号的32位和64位整数使用它们的有符号对数来表示,顶部位只存储在符号位中。
enum TrafficLightColor {
    TRAFFIC_LIGHT_COLOR_INVALID = 0;
    TRAFFIC_LIGHT_COLOR_UNSET = 1;
    TRAFFIC_LIGHT_COLOR_GREEN = 2;
    TRAFFIC_LIGHT_COLOR_YELLOW = 3;
    TRAFFIC_LIGHT_COLOR_RED = 4;
}

枚举是常量,因此采用大写
message VipIDToRidReq {
    repeated uint32 vipID = 1;
}

底层实际上是1个ArrayList
PB不支持无序、不重复的集合,只能 借用数组实现,需要 自行去重。
message BatchOnlineRes {
    map<uint32, uint32> onlineMap = 1;//在线状态
}

message BatchAnchorInfoRes {
    map<uint32, AnchorInfo> list = 1; //用户信息map列表
}
/*
* 对应接口的功能: 批量或单个获取用户信息
*/
message AnchorInfo {
    uint32 ownerUid = 1 [json_name="uid"]; //用户id
    string nickName = 2 [json_name="nn"]; //用户昵称
    string smallAvatar = 3 [json_name="savt"]; //用户头像全路径-小
    string middleAvatar = 4 [json_name="mavt"]; //用户头像全路径-中
    string bigAvatar = 5 [json_name="bavt"]; //用户头像全路径-大
    string avatar = 6 [json_name="avt"]; //用户头像
}

| Feature | Java Interface | Protobuf | 备注 | 
|---|---|---|---|
| 方法重载 | √ | × | |
| 泛型/模板化 | √ | × | |
| 方法继承 | √ | × | |
| 嵌套定义 | √ | 部分支持 | PB仅支持message和enum嵌套 | 
| import文件 | √ | √ | |
| 字段为null | √ | × | |
| 多个入参 | √ | × | PB仅支持单入参 | 
| 0个入参 | √ | × | PB必须有入参 | 
| 0个出参 | √ | × | PB必须有出参 | 
| 入参/出参为抽象类 | √ | × | PB的入参/出参必须为具象类 | 
| 入参/出参为接口 | √ | × | PB的入参/出参必须为具象类 | 
| 入参/出参为基础类型 | √ | × | PB的入参/出参必须为结构体 |