2016-11-24 30 views
0

我用protoc谷歌的protobuf生成的Java不支持toByteArray

https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto

The protobuf documentation生成Java源代碼表明,所產生的類應該支持toByteArray方法。它沒有。 (除了嘗試調用它,我已經搜索生成的文件VectorTile.java,並且在那裏沒有toByteArray代碼。)

注意:這不是Protobuf - Missing toByteArray()?的重複 - 錯誤是使用Builder的消息的目的。我沒有那樣做。

我很感激任何見解。

+1

我剛剛用協議緩衝區3試過了,我確實看到了這個方法。 –

+1

啊,也許問題是我在使用proto2。 – Mohan

回答

2

toByteArray()方法在生成的代碼繼承的AbstractMessageLite中實現。生成的代碼中沒有聲明toByteArray(),因爲它是繼承的。調用message.toByteArray()將正常工作 - 如果它不適合您,請顯示您的代碼和產生的錯誤消息。