LoginSignup
16
11

More than 3 years have passed since last update.

[Dart]ListやMapのキャストについて

Posted at

結論

動きとしては下記のようになる。

final List<dynamic> foo = [1, 2.3];
final baz = foo as  List<num>; // これはできない

final hoge = <String, dynamic>{'a': 'a'};
final fuga = hoge as Map<String, String>; // これもできない
final List<dynamic> foo = [1, 2.3];
final baz = foo.cast<num>(); // これはできる

final hoge = <String, dynamic>{'a': 'a'};
hoge.cast<String, String>(); // これもできる

Effective Dart

ただし下記に記載されているように、直接castメソッドを使うことは避けたほうが良い。
AVOID using cast().
DON’T use cast() when a nearby operation will do.

終わりに

Flutter触り始めたときにハマったので書きました。

参考

Effective Dart: When to use "as", ".retype", ".cast"

16
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
11