## 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"
-------------
Commit messages:
- 8373660: Add explicit null check in DataOutputStream.writeBytes
Changes: https://git.openjdk.org/jdk/pull/28869/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28869&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8373660
Stats: 30 lines in 2 files changed: 30 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/28869.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28869/head:pull/28869
PR: https://git.openjdk.org/jdk/pull/28869