https://kotlinlang.org logo
Title
a

aleksey.tomin

11/15/2019, 4:55 AM
Интересно, а почему
System.getenv(key)
возвращает
String!
а не
String?
? Не то, чтобы мне это сильно мешает, но странно как-то. Что интересно,
System.getenv().get(key)
возвращает
String?
, хотя по сути оба способа делают в точности одно и тоже.
b

beholder

11/15/2019, 5:46 AM
Ну не дотянулись руки все подряд методы проаннотировать
g

gildor

11/17/2019, 3:29 PM
Это не странно, это то как Kotlin работает с любыми Java типами, поэтому все типы имеют platform тип (если не аннотированны явно) Второй метод просто возвращает Map, а java.util.Map в Котлин коде виден как котлиновский kotlin.collections.Map, поэтому там и nullable тип
👍 1
a

aleksey.tomin

11/18/2019, 2:33 AM
А первый?
g

gildor

11/18/2019, 8:32 AM
Я же написал, первый возвращает platform type, это стандартное поведение для всех не аннотированных Java методов