Dart Streamクラスのcast()メソッドについてメモ書き。
cast()はStreamのデータ型を別の型に変換するメソッド。
変換元の型が変換先の型に適合しない場合はエラーになる。
例を挙げるとString型からdynamic型に変換できるが、String型からint型はエラーになる。
Stream<T>型をR型に変換したい場合、cast<R>()メソッドを実行する事でStream<R>型に変換できる。
コーディングで動作を確認。
void main() {
final listTest = Stream<String>.fromIterable(["Apple", "Orange", "Banana"]);
final castTest = listTest.cast<dynamic>();
print("listTestの型:${listTest.runtimeType}");
print("castTestの型:${castTest.runtimeType}");
castTest.listen(print);
}
実行結果。
listTestの型:_MultiStream<String>
castTestの型:CastStream<String, dynamic>
Apple
Orange
Banana
コメント