Modern Java · interview question
Given the following code snippet, identify the primary issue with the 'Email' value object:?
Multiple choiceHardchapter-7-curatedpremiummodern-javavalue-objects
class Email {
private final String address;
public Email(String address) {
this.address = address;
}
// missing validation
}Answer and explanation
Correct answer
B. The Email constructor should be private to enforce validation.
Why
The Email constructor should be private to enforce validation through a static factory method or builder. This ensures that any instance creation goes through necessary validation logic, maintaining the integrity of the value object.
Test yourself on Modern Java
A free test with instant, explained results. No account needed.
More Modern Java questions
- Given a Java text block, how does the compiler handle incidental whitespace?
- How do you write a multiline string in Java using text blocks?
- In which scenario is a static factory method preferred over a constructor?
- In Java 17, how would you refactor a switch statement to a switch expression for better readability and safety in a…
- Why does overriding hashCode in a value object change runtime behavior?
- How does using Java text blocks simplify embedding JSON structures in code?