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.19.6/dart-collection/Queue/cast.html