Java vector 容量求 vector 大小

标签 java swing

我正在尝试获取 vector 的内容。 我有一个存储用户详细信息(例如名称和密码)的类:

package Login;

/**
 *
 * @author Kutoma
 */
public class User{
    private String name;
    private String password;


    public User(String aName, String password){
     name = aName;
     this.password = password;

    }


    public boolean checkPassword(String pass)
    {
        if(password.equals(pass))
            return true;
             else
            return false;

    }
    public String getName(){
        return name;
    }
    public String getPassword(){
        return password;
    }

}

然后我有一个名为 setOfUsers 的类,它添加用户并查找他们的名字:

package Login;


public class SetOfUsers extends Vector<User> {
private static SetOfUsers register =  null;

public SetOfUsers(){
    super();
 User temp = new User("Adam","12345");
 add(temp);
}
public static SetOfUsers getInstance(){
    if (register == null)           
        { register = new SetOfUsers(); }
    return register;    
}


public void addUser(User aUser){
    super.add(aUser);
}

public User findUserByName(String name)
{
    for(int i = 0; i < capacity(); i++){

      User user = elementAt(i); 
      if(user.getName().equals(name)){
          return user;
      }

    }
    return null;
}

目前我收到此错误 java.lang.ArrayIndexOutOfBoundsException: 1 >= 1 但是,我已经使用容量来查找 vector 的大小,不确定我在这里哪里出错了。 我的主程序有以下代码,当单击登录按钮时,它应该打印出 用户详细信息

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:

    SetOfUsers register = SetOfUsers.getInstance();
    String name = nameText.getText();
    User user = register.findUserByName(name);
    String passTxt = passText.getText();
    user = register.findUserByName(passTxt);
    System.out.print(user);


}                         

最佳答案

使用 size() 而不是容量()。

容量():

returns the current capacity (the length of its internal data array, kept in the field elementData of this vector)

尺寸():

returns the number of components in this vector.

查看文档 here .

关于Java vector 容量求 vector 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20619161/

相关文章:

java - 为什么我的自定义字体数组会出现 ArrayIndexOutOfBoundsException?

java - 正则表达式,获取所有超链接

java - 如何从嵌套的json中获取键的所有值

Java Collections.sort() 不排序

java - 将 Swing/FX 与绑定(bind)混合 - 使用自定义属性在线程之间进行调解?

java - 我可以在Java中的CardLayout中添加多个框架吗?

java - 确保 Swing GUI 与底层数据结构保持同步

java - Hibernate Envers - 包括更改发生的日期

java - JButton 及其 Location 方法表现得很奇怪

java - 如何在 OSX 上拖放期间检测 META 按键