cast<K2, V2> method
Provides a view of this map as having RK
keys and RV
instances,
if necessary.
If this map is already a Map<RK, RV>
, it is returned unchanged.
If this set contains only keys of type RK
and values of type RV
,
all read operations will work correctly.
If any operation exposes a non-RK
key or non-RV
value,
the operation will throw instead.
Entries added to the map must be valid for both a Map<K, V>
and a
Map<RK, RV>
.
Methods which accept Object?
as argument,
like containsKey, remove and operator [],
will pass the argument directly to the this map's method
without any checks.
That means that you can do mapWithStringKeys.cast<int,int>().remove("a")
successfully, even if it looks like it shouldn't have any effect.
Implementation
@override
Map<K2, V2> cast<K2, V2>() {
// TODO(cbracken): Dart 2.0 requires this method to be implemented.
throw UnimplementedError('cast');
}