On Wed, 17 Dec 2025 12:56:14 GMT, eunbin son <[email protected]> wrote:

> ## Summary
> 
> Add explicit null check using `Objects.requireNonNull` in 
> `DataOutputStream.writeBytes(String s)` to provide a clearer error message 
> and make the API contract explicit.
> 
> ## Problem
> 
> The `writeBytes` method currently throws a `NullPointerException` when 
> `null` is passed, but the error message may not be clear in all contexts. 
> While JDK 14+ provides helpful NullPointerException messages through 
> JEP 358 (Helpful NullPointerExceptions), adding an explicit null check 
> using `Objects.requireNonNull` makes the API contract more explicit and 
> provides consistent error messaging across different JDK versions.
> 
> ## Solution
> 
> Added `Objects.requireNonNull(s, "s")` at the beginning of the 
> `writeBytes(String s)` method. This ensures:
> - A clear error message ("s") is provided when null is passed
> - The API contract explicitly states that null is not allowed
> - The method fails fast with a descriptive exception
> 
> ## Issue
> Fixes JDK-8373660
> 
> **JBS Issue Link**: 
> https://bugs.java.com/bugdatabase/view_bug?bug_id=JDK-8373660
> 
> 
> ## Type of Change
> - [x] Test addition/modification
> - [x] Bug fix
> - [ ] New feature
> - [ ] Documentation improvement
> - [ ] Refactoring
> 
> ## Testing
> 
> A new JUnit test has been added to verify the null check behavior:
> 
> 
> # Run the specific JUnit test file
> make test 
> TEST="jtreg:test/jdk/java/io/DataOutputStream/DataOutputStreamTest.java"
> 
> # Or run all tests in the DataOutputStream directory
> make test TEST="jtreg:test/jdk/java/io/DataOutputStream"

Please close this PR. It does not add enough value.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/28869#issuecomment-3676490828

Reply via email to