AndroidStudioで今後はKotlinを使っていくと決めたはいいものの、
やはりJavaとは記述が異なる部分が多いのでアプリ制作で調べたことの備忘録を残していきます。
同じ様な処理の記述例
文字列”test”を戻す関数
Java
public String test(){ return "test"; }
Kotlin
fun test() : String = "test"
コレクションのデータをStringBuilderへ設定
Java
public String toJSON(Collection<Integer> collection) { StringBuilder sb = new StringBuilder(); sb.append("["); Iterator<Integer> iterator = collection.iterator(); while (iterator.hasNext()) { Integer element = iterator.next(); sb.append(element); if (iterator.hasNext()) { sb.append(", "); } } sb.append("]"); return sb.toString(); }
Kotlin
fun toJSON(collection: Collection<Int>): String { val sb = StringBuilder() sb.append("[") val iterator = collection.iterator() while (iterator.hasNext()) { val element = iterator.next() sb.append(element) if (iterator.hasNext()) { sb.append(", ") } } sb.append("]") return sb.toString() }
名前付き引数とデフォルト値
メソッドのオーバーロードを用いる際
Java
public int test(int num1, int num2, int num3) { return num1 + num2 + num3; } public int test(int num1, int num2) { return foo(num1, num2, 50); } public int test(int num1) { return foo(num1, 10, 50); }
Kotlin
fun test(num1: Int, num2: Int = 10, num3: Int = 50): Int = num1 + num2 + num3 //引数名を使って呼び出すときの記述 test(100, num3 = 200 )
ちょっと書き方が変わるだけで読み解くのにすごい時間かかってしまったり、
全然わからなかったりほんとプログラムって難しい。
今後も少しずつKotlinでの開発メモを残していきます。
コメント