您可以通过
DynamicMessage
班
Message PhoneBook {
repeated Person people = 1;
}
Message Person {
required Name name = 1;
optional String phone = 2;
}
Message Name {
required String family_name = 1;
required String given_name = 2;
}
获取的默认实例的代码
People
PhoneBook phoneBook = phoneBook.getDefaultInstance();
Descriptors.Descriptor personDescriptor = phoneBook.getDescriptor().findNestedTypeByName("people");
DynamicMessage defaultPeopleInstance = DynamicMessage.newBuilder(personDescriptor).getDefaultInstanceForType().build();
assert defaultPeopleInstance == People.getDefaultInstance();