J'ai deux classes: une classe Generator et une classe SystemManagement. La classe Generator, je peux générer un mot de passe. La classe SystemManagement importe Generator (à partir d'un autre package) et inclut des informations supplémentaires.Pourquoi ma méthode retourne un mot de passe nul?
Lorsque je crée un objet SystemManagement et que j'appelle le getPassword()
, je récupère null
. Pourquoi cela arrive-t-il?
Générateur:
public class Generator {
private static String password;
private static Generator instance;
public String nextPassword() {
char[] allowedCharacters = {'a', 'b', 'c', 'd', 'e', 'f', '1', '2', '3', '4', '5','6'};
SecureRandom random = new SecureRandom();
StringBuffer password1 = new StringBuffer();
for (int i = 0; i < password1.length(); i++) {
password1.append(allowedCharacters[random.nextInt(allowedCharacters.length)]);
}
password = password1.toString();
return password;
}
public String currentPassword() {
return password;
}
public static void setPassword(String password) {
Generator.password = password;
}
public static Generator getInstance() {
if (instance == null) {
instance = new Generator();
}
return instance;
}
}
Systemmanagement:
public class SystemManagement implements Serializable {
private String name;
private String family;
private String password;
public SystemManagement() {
}
public SystemManagement(String password) {
this.password = Generator.getInstance().nextPassword();
}
public Students addStudent(String name, String family) {
Students student = new Students(name, family);
students.add(student);
return student;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Dupe: http://stackoverflow.com/questions/1769962/why-am-i-getting-null-on-this-code – BalusC
Comment est-ce connecté à findbugs? –