Это зависит от , почему вы хотите проверить тип.
Если вы хотите использовать специальные встроенные типы, такие как int
и String
, вы можете использовать T == int
или T == String
.
Для более сложных типов, таких как List<int>
, я бы рекомендовал не использовать ==
, потому что он соответствует только точному типу и может пропустить подтипы, такие как UnmodifiableList<int>
, которые вы хотите обработать таким же образом (или рискует нарушить заменяемость подтипов) ). Нет прямого способа сравнить два типа как подтипы, но вы можете использовать вспомогательную функцию, например:
/// Checks whether [T1] is a (not necessarily proper) subtype of [T2].
bool isSubtype<T1, T2>() => <T1>[] is List<T2>;