Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中向对象的Arraylist添加元素?_Java_String_Eclipse_Class_Vector - Fatal编程技术网

如何在Java中向对象的Arraylist添加元素?

如何在Java中向对象的Arraylist添加元素?,java,string,eclipse,class,vector,Java,String,Eclipse,Class,Vector,所以,我有一个包含一些向量的类,我试图向这些向量添加元素。但是,当我尝试使用add方法推送元素时,它会抛出NullPointerException。我使用eclipse作为编辑器 package com.vogella.eclipse.ide.first; import java.util.Vector; public class Qr { // The class int x,y; Vector<String> at = new Vector<Stri

所以,我有一个包含一些向量的类,我试图向这些向量添加元素。但是,当我尝试使用add方法推送元素时,它会抛出NullPointerException。我使用eclipse作为编辑器

package com.vogella.eclipse.ide.first;

import java.util.Vector;

public class Qr {       // The class
  int x,y;
  Vector<String> at = new Vector<String>();
}


public class cls {
  public static void main(String[] args) {
    Qr[] var = new Qr[5];
    String q = new String("ggg");

    var[1].at.add(q);
    System.out.print("gg");
  }
}

这是正确的还是我做错了什么?

您需要对代码进行以下更改以使其正常工作:

  • 创建一个构造函数来初始化类Qr的变量

  • 创建Qr数组后,需要初始化Qr数组的单个元素

       class Qr {       // The class
        int x,y;
        Vector<String> at;
    
        Qr(){          //Step1
           this.x=0;
           this.y=0;
           this.at = new Vector<String>(); 
       }
     }
    

    您需要对代码进行以下更改以使其正常工作:

  • 创建一个构造函数来初始化类Qr的变量

  • 创建Qr数组后,需要初始化Qr数组的单个元素

       class Qr {       // The class
        int x,y;
        Vector<String> at;
    
        Qr(){          //Step1
           this.x=0;
           this.y=0;
           this.at = new Vector<String>(); 
       }
     }
    

    另外,不要使用
    向量
    ;1998年,它被
    ArrayList
    替换。事实上,ArrayList给出了相同的错误。第一个问题,为什么在同一个文件中有两个公共类?您正在为
    Qr
    分配一个数组
    var
    引用,但没有用Qr实例填充数组
    var[1]
    为null(默认值,因为没有为其赋值),因此当您尝试取消引用它时会出现NullPointerException。不相关,但几乎没有很好的理由定义像
    new String(“ggg”)这样的字符串。。。你可以只写“ggg”
    ,也不要使用向量;1998年,它被
    ArrayList
    替换。事实上,ArrayList给出了相同的错误。第一个问题,为什么在同一个文件中有两个公共类?您正在为
    Qr
    分配一个数组
    var
    引用,但没有用Qr实例填充数组
    var[1]
    为null(默认值,因为没有为其赋值),因此当您尝试取消引用它时会出现NullPointerException。不相关,但几乎没有很好的理由定义像
    new String(“ggg”)这样的字符串。。。你可以直接写“ggg”
    ,很高兴听到这个消息。我希望你不会介意投票和接受答案以提高知名度听到这个消息很好。我希望你不会介意投票和接受答案,以提高知名度
    public static void main(String[] args)
    {
        Qr[] var = new Qr[5];
        var[1] = new Qr(); // Step 2
        String q = new String("ggg");
    
        var[1].at.add(q);
        System.out.print("gg");
    }