java - 如何将两个变量保存到一个 vector 中?

标签 java vector

class Buffer{
  public String name;
  public int id;
}

public class Main {
    public static void main(String[] args) {
      Vector<Buffer> vec = new Vector<Buffer>();
      getName = G.sIn.ReadInputLine();
      getID = G.sIn.ReadInt();
      vec.name.add(getName); // error
      vec.id.add( getID );  // error

    }
}

我是 Java 新手。

但是,我想将两个变量保存到 vector 的 name 和 id 中并继续。

现在,我不知道如何正确实现。

最佳答案

vec 本身不是Buffer 类的实例,因此您不能访问 Buffer 类的数据成员或方法 vec.

vec 是一个列表,它可以包含 Buffer 类的实例。

Vector<Buffer> vec = new Vector<Buffer>();
getName = G.sIn.ReadInputLine();
getID = G.sIn.ReadInt();

// create an instance of Buffer class
Buffer buff = new Buffer();
buff.name = getName;
buff.id = getID;

// add the instance of Buffer class in vec
vec.add(buff);

但是,在类中使用 public 数据成员并不是一个好习惯。 Buffer 类的所有数据成员都应该是private 并且应该使用构造函数 进行初始化。

class Buffer{
  private String name;
  private int id;

  public Buffer(String name, int id) {
      this.name = name;
      this.id = id;
  }
}

public class Main {
    public static void main(String[] args) {
        Vector<Buffer> vec = new Vector<Buffer>();
        getName = G.sIn.ReadInputLine();
        getID = G.sIn.ReadInt();

        // create an instance of Buffer class
        Buffer buff = new Buffer(getName, getID);

        // add the instance of Buffer class in vec
        vec.add(buff);
    }
}

要访问或设置类的private 数据成员的值,您需要定义Getter and Setter Buffer 类中的函数。

关于java - 如何将两个变量保存到一个 vector 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62466044/

相关文章:

java - Libgdx-在指针后面画一条线

java - 如何查找带有尾随注释的所有字段

c++ - 为什么 std::vector 有两个赋值运算符?

c++ - 我对在 C++ 中将指针作为参数传递有什么误解?

java - JRE 8u192 - javax.security.auth.login.FailedLoginException : Cannot bind to LDAP server

Java逻辑问题

java - 制作一个自动跳线的布局表

c++ - vector<double> 在公差范围内查找 double

java - 如何将链表添加到 vector 中?

c++ - 包含类对象的最佳 C++ 设计是什么?