Метод cast< R>
Обеспечивает представление этой очереди как очереди R экземпляров, если это необходимо.
Если эта очередь содержит только экземпляры R, все операции чтения будут работать корректно. Если любая операция попытается получить доступ к элементу, который не является экземпляром R, доступ вызовет исключение.
Элементы, добавленные в очередь (например, с помощью addFirst или addAll), должны быть экземплярами R, чтобы быть допустимыми аргументами для функции добавления, и они также должны быть экземплярами E, чтобы быть принятыми этой очередью.
Методы, которые принимают Object? в качестве аргумента, такие как contains и remove, будут передавать аргумент напрямую методу этой очереди без проверок. Это означает, что вы можете выполнить queueOfStrings.cast<int>().remove("a") успешно, даже если это выглядит так, что оно не должно оказывать никакого эффекта.
Реализация
Queue<R> cast<R>();
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-collection/Queue/cast.html