----- Mail original -----
> De: "Michael Kuhlmann" <j...@fiolino.de>
> À: "core-libs-dev" <core-libs-dev@openjdk.java.net>
> Envoyé: Mardi 16 Février 2021 13:34:30
> Objet: Re: System.getEnv(String name, String def)

> 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

yep, you are right.
Optional.ofNullable(...).orElse(...) is not the best pattern in term of 
readability. 

> 
> Best,
> Michael

regards,
Rémi

> 
> 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" <loikes...@gmail.com>
>>> À: "core-libs-dev" <core-libs-dev@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

Reply via email to