基本的な質問です。他のいくつかの関連する質問を適用して解決しようとしましたが、これは常に null として返されます。
public class Consultant {
public Name name;
String lastName;
String firstName;
String middleName;
public Consultant (Name name){
this.name = name;
this.lastName = name.getLastName();
this.firstName = name.getFirstName();
this.middleName = name.getMiddleName();
}
public Name getName(){
return name;
}
public void setFirstName(){
firstName = name.getFirstName();
}
public void setMiddleName(){
middleName = name.getMiddleName();
}
public void setLastName(){
lastName = name.getLastName();
}
@Override
public String toString(){
return lastName + ", " + firstName + " " + middleName;
}
}
なぜ私はこれをプリントアウトとしてどこでも使用しようとするのですか?コードを何度も調整しようとしましたが、役に立ちませんでした。
正常に実行されるテスト クラスのスニペットを次に示します。名前に対して null 値を返すだけです。
public void consultantTimeToStringTest() {
String fName = "Test";
String lName = "Dude";
Name contact = new Name(lName, fName);
Consultant testConsultant = new Consultant(contact);
System.out.println(testConsultant.toString());
ここにも Name クラスがあります。
public class Name {
private String firstName;
private String middleName;
private String lastName;
public Name(){
}
public Name(String lastName, String firstName){
}
public Name(String lastName, String firstName, String middleName){
this.firstName = firstName;
this.middleName = middleName;
this.lastName = lastName;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Name other = (Name) obj;
if (firstName == null) {
if (other.firstName != null)
return false;
} else if (!firstName.equals(other.firstName))
return false;
if (lastName == null) {
if (other.lastName != null)
return false;
} else if (!lastName.equals(other.lastName))
return false;
if (middleName == null) {
if (other.middleName != null)
return false;
} else if (!middleName.equals(other.middleName))
return false;
return true;
}
public String getFirstName(){
return firstName;
}
public String getLastName(){
return lastName;
}
public String getMiddleName(){
return middleName;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((firstName == null) ? 0 : firstName.hashCode());
result = prime * result
+ ((lastName == null) ? 0 : lastName.hashCode());
result = prime * result
+ ((middleName == null) ? 0 : middleName.hashCode());
return result;
}
public void setFirstName(String firstName){
}
public void setLastName(String lastName){
}
public void setMiddleName(String middleName){
}
public String toString(){
StringBuilder result = new StringBuilder();
String NEW_LINE = System.getProperty("line.separator");
result.append(lastName);
return result.toString();
}
}