Why is this an issue?

Most checks against an indexOf value compare it with -1 because 0 is a valid index. Checking against > 0 ignores the first element, which is likely a bug.

String name = "ishmael";

if (name.indexOf("ish") > 0) { // Noncompliant
  // ...
}

Moreover, if the intent is merely to check the inclusion of a value in a String or a List, consider using the contains method instead.

String name = "ishmael";

if (name.contains("ish") {
  // ...
}

If the intent is really to skip the first element, comparing it with >=1 will make it more straightforward.

String name = "ishmael";

if (name.indexOf("ish") >= 1) {
  // ...
}

This rule raises an issue when an indexOf value retrieved from a String or a List is tested against > 0.