Skip to content

Instantly share code, notes, and snippets.

View sajjadyousefnia's full-sized avatar
🤒
Out sick

Sajjad Yousefnia sajjadyousefnia

🤒
Out sick
View GitHub Profile
val list1: List<String> = listOf("a", "b")
val list2: List<Int> = listOf(1, 2, 3)
for (element in this) {
if (element is String) {
destination.add(element)
}
}
fun hasZeros(ints: List<Int>): Boolean {
ints.forEach {
if (it == 0) return true // returns from hasZeros
}
return false
}
inline fun <reified T>
Iterable<*>.filterIsInstance(): List<T>
val destination = mutableListOf<T>()
for (element in this) {
if (element is T) {
destination.add(element)
}
}
return destination
}
>>> val items = listOf("one", 2, "three")
>>> println(items.filterIsInstance<String>())
[one, three]
inline fun <reified T> isA(value: Any) = value is T
>>> println(isA<String>("abc"))
true
>>> println(isA<String>(123))
false
inline fun <reified T> isA(value: Any) = value is T
>>> println(isA<String>("abc"))
true
>>> println(isA<String>(123))
false
>>> fun <T> isA(value: Any) = value is T
fun <T : Number> oneHalf(value: T): Double {
return value.toDouble() / 2.0
}
>>> println(oneHalf(3))
1.5
interface List<T> {
operator fun get(index: Int): T
// ...
}