Skip to content

Instantly share code, notes, and snippets.

@ruwanka
ruwanka / AnonymousFunc.kt
Created March 11, 2018 14:21
Kotlin Anonymous function
fun main(args: Array<String>) {
// lambda
println(apply(5, { it * it }))
// anonymous function
println(apply(5, fun(n: Int): Int { return n * n}))
}
fun apply(num: Int, op: (Int) -> Int): Int {
return op(num)
}
@ruwanka
ruwanka / KotlinNullableTypes.kt
Created March 11, 2018 14:05
Kotlin nullable types
class Address(var street: String?, var City: String)
class User(var name: String, var address: Address?)
fun main(args: Array<String>) {
var address = Address(null, "Colombo")
var user = User("Dharmapala", address)
println(user.address?.street?.toUpperCase())
@ruwanka
ruwanka / Functions.kt
Created March 11, 2018 13:57
One line function, default parameters, named parameters
fun String.toSentenceCase(): String = this.substring(0, 1).toUpperCase().plus(this.substring(1))
@ruwanka
ruwanka / KotlinInfix.kt
Created March 11, 2018 13:48
kotlin infix functions
fun main(args: Array<String>) {
println(2 powerTo 4)
}
infix fun Int.powerTo(to: Int): Double {
return Math.pow(this.toDouble(), to.toDouble());
}
@ruwanka
ruwanka / KotlinStringExtensions.kt
Created March 11, 2018 13:43
Kotlin Extension functions
fun main(args: Array<String>) {
println("this is cool".toSentenceCase())
}
fun String.toSentenceCase(): String {
return this.substring(0, 1).toUpperCase().plus(this.substring(1))
}
import java.io.File
import com.ruwanka.io.File as MyFile
fun main(args: Array<String>) {
var myFile: MyFile = MyFile()
var javaFile: File = File("test.txt");
}
package com.ruwanka.io;
public class Program {
public static void main(String[] args) {
File myFile = new File();
java.io.File javaFile = new java.io.File("test.txt");
}
}
package com.ruwanka.io;
public class File {
}
@ruwanka
ruwanka / Student.kt
Last active March 8, 2018 17:50
One line Student class with accessors + mutators + toString + hasCode
data class Student(var name: String, var age: Int, val gender: String)
@ruwanka
ruwanka / MainActivity.java
Created August 27, 2017 11:38
save few objects to realm
package com.ruwanka.realmdbinspect;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.ruwanka.realmdbinspect.model.Address;
import com.ruwanka.realmdbinspect.model.Person;
import io.realm.Realm;