class IdPwPair {
private String pw = "";
private String id = "";
//Constructor
//getter & setter
}
那是因为我想将大量的 ID 及其密码放入一个数组中。
而且,我可能想添加一个字段 accountType,然后 Map 将不再工作。
class IdPwPair {
private String pw = "";
private String id = "";
//Constructor
//getter & setter
}
那是因为我想将大量的 ID 及其密码放入一个数组中。
而且,我可能想添加一个字段 accountType,然后 Map 将不再工作。
class
是的,创建并稍后使用它是有意义的list<class>
......更好的是char[]
用于密码以获得安全,处理和操作目的的好处......
我对课程的建议如下:
class IdPwPair {
final public String id, password;
public IdPwPair(String id, String password) {
this.id = id;
this.password = password;
}
}
解释
您要设计的是一个数据持有者类。这里强烈建议使用final关键字,不要加setter,因为这个类不控制数据,只是把它抱在一起。
这不仅使访问数据更容易(更快),而且还允许更简单的代码结构。您无需跟踪更改数据集内容的时间和地点,只需使用它们,如果它们不再有效,则将其丢弃。这确保了给定的一组数据在任何时候都包含确切的一组信息,或者不再存在。甚至没有机会在其他人仍在使用数据时意外更改数据而造成混乱。
注意:将密码保存在 JVM 内存中存在安全问题,因为有人可以实时破解 JVM 并提取密码。因此,如果您正在开发一个值得关注的软件(我对此表示怀疑),您应该使用char[]
它并在不再使用时覆盖内容。
您可能希望同时使用ArrayList<String>
anPw
和Id
或者
HashMap<String,String>
它将每个 id 映射到其密码。
最好使用 achar[]
来存储密码,因为您可以在完成后甚至在 GC 进入之前显式擦除数据。
首先使用小写开头如下
private String pw = "";
private String id = "";
创建一个类取决于您的要求。你可以用你HashMap<String,String>
的。
Map<String,String> idOverPassword= new HashMap<String,String>();
idOverPassword.put("id","password");