Note that there are some explanatory texts on larger screens.

plurals
  1. POObject to String always gives me null
    primarykey
    data
    text
    <p>Fundamental question, and I've tried to apply several other related questions to figure it out, but this always comes back as null.</p> <pre><code>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; } </code></pre> <p>}</p> <p>Why I try to use this anywhere as a print out, all I see is null, null null. I've tried adjusting the code several times to no avail. </p> <p>Here is the test class snippet that runs successfully, just returns null values for the name:</p> <pre><code>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()); </code></pre> <p>Here is the Name class as well:</p> <pre><code>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(); } </code></pre> <p>}</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload