is and is! operators can be used to determine a variable’s data type or class.
Example
var data = ["Hello", 5, 5.12, [], {}, User('username', 'password')];
Using is
and is!
:
if (data[0] is String) print(data[0]);
if (data[1] is int) print(data[1]);
if (data[2] is! int) print(data[2]);
if (data[3] is List) print('List');
if (data[4] is Object) print('Object');
if (data[5] is User) print(data[5].toString());
Another approach is to use .runtimeType
 to get the type.
if (data[1].runtimeType == int) print('Int');
if (data[3].runtimeType == [].runtimeType) print('List');