The following code snippet shows varying results from the three operators:
result, var1, var2, var3 STRING?; result2 INT?; var1="Sun"; var3="day"; result = var1 :: var2 :: var3; // result is "Sunday" result = var1 ?: var2 ?: var3; // result is null var1 = "123"; var3 = "456"; result1 = var1 + var2 + var3; // result is "123456" (STRING) result2 = var1 + var2 + var3; // result is 123456 (numeric)