Kotlin: "if item not in list" proper syntax

The operator for this in Kotlin is !in. So you can do

if (x !in myList) { ... }

You can find this in the official docs about operator overloading.


Use x !in list syntax.

The following code:

val arr = intArrayOf(1,2,3)
if (2 !in arr)
   println("in list")

is compiled down to the equivalent of:

int[] arr = new int[]{1, 2, 3};
// uses xor since JVM treats booleans as int
if(ArraysKt.contains(arr, 2) ^ true) { 
   System.out.println("in list");
}

The in and !in operators use any accessible method or extension method that is named contains and returns Boolean. For a collection (list, set...) , it uses collection.contains method. For arrays (including primitive arrays) it uses the extension method Array.contains which is implemented as indexOf(element) >= 0

Tags:

Kotlin