On Wed, 8 May 2024 08:59:18 GMT, Pavel Rappo <pra...@openjdk.org> wrote:
>> src/java.base/share/classes/java/io/Console.java line 192: >> >>> 190: * >>> 191: * @param prompt >>> 192: * A prompt string. >> >> Hello Pavel, should this specify whether `prompt` can be null? > > If we specify that, it would be very much unlike all other `Console` methods > that are covered by this: > > * Unless otherwise specified, passing a {@code null} argument to any > method > * in this class will cause a {@link NullPointerException} to be thrown. I haven't given it a try, but a brief look at the code suggests that if the console implementation backed by JLine gets used, then a `null` prompt may not generate a `NullPointerException` (since JLine appears to allow `null`) whereas if the internal JDK console implementation gets used then a `NullPointerException` will get thrown. If the expectation is to disallow a `null` prompt, then perhaps `Objects.requireNonNull(prompt)` before we hand off to the underlying console implementations might be required. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/19112#discussion_r1593809280