cast<RK, RV> method

  1. @override
Map<RK, RV> cast<RK, RV>()
override

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<RK, RV> cast<RK, RV>() {
  doAutoPurge();
  return _map.cast<RK, RV>();
}