System.getEnv(String name, String def)
Michael Kuhlmann
jdk at fiolino.de
Tue Feb 16 12:34:30 UTC 2021
Hi Rémi,
I don't want to be pedantic, but I see this as an anti-pattern. You
would create an Optional just to immediately call orElse() on it. That's
not how Optional should be used. (But you know that.)
It's described in Recipe 12 of this Java Magazine article, for instance:
https://blogs.oracle.com/javamagazine/12-recipes-for-using-the-optional-class-as-its-meant-to-be-used
Best,
Michael
On 2/15/21 3:09 PM, Remi Forax wrote:
> Hi Loic,
> You can use Optional.OfNullable() which is a kind of the general bridge between the nullable world and the non-nullable one.
>
> var fooOptional = Optional.ofNullable(System.getenv("FOO"));
> var fooValue = fooOptional.orElse(defaultValue);
>
> regards,
> Rémi Forax
>
> ----- Mail original -----
>> De: "Loïc MATHIEU" <loikeseke at gmail.com>
>> À: "core-libs-dev" <core-libs-dev at openjdk.java.net>
>> Envoyé: Lundi 15 Février 2021 14:59:42
>> Objet: System.getEnv(String name, String def)
>
>> Hello,
>>
>> I wonder if there has already been some discussion to provide
>> a System.getEnv(String name, String def) method that allows to return a
>> default value in case the env variable didn't exist.
>>
>> When using system properties instead of env variable, we do have a
>> System.getProperty(String key, String def) variant.
>>
>> Stating the JavaDoc of System.getEnv():
>> *System properties and environment variables are both conceptually mappings
>> between names and values*
>>
>> So if system properties and environment variables are similar concepts,
>> they should provide the same functionalities right ?
>>
>> This would be very convenient as more and more people rely on
>> environment variables these days to configure their applications.
>>
>> Regards,
>>
>> Loïc
More information about the core-libs-dev
mailing list