Java 将项目添加到ProtocolStringList
我正在尝试将项目添加到ProtocolStringList中。当我使用add函数时,不会返回任何错误,但是当我尝试打印列表时,会得到null值。 我不知道我做错了什么。我尝试将大小打印到,但也打印0。我不知道该怎么办。请帮助。谢谢。 代码如下:Java 将项目添加到ProtocolStringList,java,protocol-buffers,Java,Protocol Buffers,我正在尝试将项目添加到ProtocolStringList中。当我使用add函数时,不会返回任何错误,但是当我尝试打印列表时,会得到null值。 我不知道我做错了什么。我尝试将大小打印到,但也打印0。我不知道该怎么办。请帮助。谢谢。 代码如下: public class demo { public static void main(String args[]) { ProtocolStringList s=new ProtocolStringList() {
public class demo {
public static void main(String args[])
{
ProtocolStringList s=new ProtocolStringList() {
@Override
public List<ByteString> asByteStringList() {
return null;
}
@Override
public int size() {
return 0;
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public boolean contains(Object o) {
return false;
}
@Override
public Iterator<String> iterator() {
return null;
}
@Override
public Object[] toArray() {
return new Object[0];
}
@Override
public <T> T[] toArray(T[] a) {
return null;
}
@Override
public boolean add(String s) {
return false;
}
@Override
public boolean remove(Object o) {
return false;
}
@Override
public boolean containsAll(Collection<?> c) {
return false;
}
@Override
public boolean addAll(Collection<? extends String> c) {
return false;
}
@Override
public boolean addAll(int index, Collection<? extends String> c) {
return false;
}
@Override
public boolean removeAll(Collection<?> c) {
return false;
}
@Override
public boolean retainAll(Collection<?> c) {
return false;
}
@Override
public void clear() {
}
@Override
public String get(int index) {
return null;
}
@Override
public String set(int index, String element) {
return null;
}
@Override
public void add(int index, String element) {
}
@Override
public String remove(int index) {
return null;
}
@Override
public int indexOf(Object o) {
return 0;
}
@Override
public int lastIndexOf(Object o) {
return 0;
}
@Override
public ListIterator<String> listIterator() {
return null;
}
@Override
public ListIterator<String> listIterator(int index) {
return null;
}
@Override
public List<String> subList(int fromIndex, int toIndex) {
return null;
}
};
s.add("a");
s.add("b");
for(int i=0;i<2;i++)
{
System.out.println(s.get(i));//prints null
}
}
}
公共类演示{
公共静态void main(字符串参数[])
{
ProtocolStringList s=新ProtocolStringList(){
@凌驾
公共列表asByteStringList(){
返回null;
}
@凌驾
公共整数大小(){
返回0;
}
@凌驾
公共布尔值为空(){
返回false;
}
@凌驾
公共布尔包含(对象o){
返回false;
}
@凌驾
公共迭代器迭代器(){
返回null;
}
@凌驾
公共对象[]toArray(){
返回新对象[0];
}
@凌驾
公共T[]toArray(T[]a){
返回null;
}
@凌驾
公共布尔加法(字符串s){
返回false;
}
@凌驾
公共布尔删除(对象o){
返回false;
}
@凌驾
公共布尔容器(集合c){
返回false;
}
@凌驾
公共布尔addAll(集合c){
返回false;
}
@凌驾
公共布尔保留(集合c){
返回false;
}
@凌驾
公共空间清除(){
}
@凌驾
公共字符串get(int索引){
返回null;
}
@凌驾
公共字符串集(整数索引,字符串元素){
返回null;
}
@凌驾
公共void添加(int索引、字符串元素){
}
@凌驾
删除公共字符串(整型索引){
返回null;
}
@凌驾
public int indexOf(对象o){
返回0;
}
@凌驾
公共int lastIndexOf(对象o){
返回0;
}
@凌驾
公共ListIterator ListIterator(){
返回null;
}
@凌驾
公共ListIterator ListIterator(int索引){
返回null;
}
@凌驾
公共列表子列表(int fromIndex、int toIndex){
返回null;
}
};
s、 添加(“a”);
s、 添加(“b”);
对于(inti=0;i要在Java中将项添加到列表中,需要使用生成器并构建对象
参考指南中有一个示例:
在您的示例中,您的代码应该如下所示:
s = ProtocolStringList.newBuilder()
.add("a")
.add("b")
.build();
我想你需要删除new protocolist()
和下一个};
之后的所有内容,然后再试一次。我删除了它,现在我得到一个错误,ProtocolStringList是抽象的,无法实例化。我得到了它。因为它是一个接口,所以我不能使用new。谢谢@daniu帮助我。
s = ProtocolStringList.newBuilder()
.add("a")
.add("b")
.build();