以下のコードを書いてみました
java
1public List<String> returnStringList(String value) { 2 List<String> list = new ArrayList<String>(); 3 if (value != null) { 4 list.add(value); 5 list.add(null); 6 return list; 7 } else { 8 return null; 9 } 10}
これをKotlinから呼び出してみました
kotlin
1 val test = Test().returnStringList("test")
これは以下のようになると予測していました
kotlin
1 val test: List<String?>? = Test().returnStringList("test")
しかしIDEAで型を見てみると以下のように見慣れない記述がされていました
kotlin
1 val test: (MutableList<String!>..List<String!>?)
なぜこのような形になるのか詳しいかた、詳細に解説をお願いします。
(この..は何なのか?rangeTo?そういったとこまで知りたいです)
上記のJava関数をIDEAの機能でKotlinコードに変換してもList<String?>?
が戻り値になるので、同義なのだろうなとは思っています。
回答1件
あなたの回答
tips
プレビュー