prefer_contains
總是 'false',因為 'indexOf' 總是大於等於 -1。
總是 'true',因為 'indexOf' 總是大於等於 -1。
不必要地使用 'indexOf' 來測試是否包含。
描述
#當使用方法 indexOf 並且其結果僅與 -1 或 0 進行比較,且語義等同於使用 contains 時,分析器會生成此診斷訊息。
示例
#以下程式碼會生成此診斷訊息,因為 if 語句中的條件正在檢查列表是否包含該字串
dart
void f(List<String> l, String s) {
if (l.indexOf(s) < 0) {
// ...
}
}常見修復方法
#改為使用 contains,必要時否定條件
dart
void f(List<String> l, String s) {
if (l.contains(s)) {
// ...
}
}