Обработка нулевых значений в протобуферахJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Обработка нулевых значений в протобуферах

Сообщение Anonymous »

Я работаю над чем-то, что извлекает данные из базы данных и создает сообщение protobuff. Учитывая возможность получения нулевых значений из базы данных для определенных полей, я получу исключение нулевого указателя при попытке создать сообщение protobuff. Узнав, что null не поддерживается в protobuffs из потока http://code.google.com/p/protobuf/issues/detail?id=57, мне интересно, является ли единственный другой способ справиться с выбросом NPE вставьте проверки вручную в файл Java, соответствующий прототипу, как показано ниже!

Код: Выделить всё

message ProtoPerson{
optional string firstName = 1;
optional string lastName = 2;
optional string address1 = 3;
}

ProtoPerson.Builder builder = ProtoPerson.Builder.newBuilder();
if (p.getFirstName() != null) builder.setFirstName(p.getFirstName());
if (p.getLastName() != null) builder.setLastName(p.getLastName());
if (p.getAddress1() != null) builder.setAddress1(p.getAddress1());
...
Итак, может ли кто-нибудь уточнить, существует ли какой-либо другой возможный эффективный способ обработки нулевых значений во время создания protobuff??

Подробнее здесь: https://stackoverflow.com/questions/212 ... otobuffers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»