Contents
Contents

Use contains for List and String instances.

This rule is available as of Dart 2.0.0.

Rule sets: recommended, flutter

This rule has a quick fix available.

Details

#

DON'T use indexOf to see if a collection contains an element.

Calling indexOf to see if a collection contains something is difficult to read and may have poor performance.

Instead, prefer contains.

BAD:

dart
if (lunchBox.indexOf('sandwich') == -1) return 'so hungry...';

GOOD:

dart
if (!lunchBox.contains('sandwich')) return 'so hungry...';

Usage

#

To enable the prefer_contains rule, add prefer_contains under linter > rules in your analysis_options.yaml file:

analysis_options.yaml
yaml
linter:
  rules:
    - prefer_contains