Files
openide/java/java-impl/resources/inspectionDescriptions/DeclareCollectionAsInterface.html
Leonid Shalupov 40795fe787 IJI-2422: community/java: move resources under resources root
GitOrigin-RevId: 8b2b63fc6db476ca0c2cfe5cadd84db6c4236d0f
2025-02-05 04:43:28 +00:00

24 lines
840 B
HTML

<html>
<body>
Reports declarations of <code>Collection</code> variables made by using the collection class as a type,
rather than an appropriate interface. The warning is not issued if weakening the variable type
will cause a compilation error.
<p>Example:</p>
<pre><code>
// Warning: concrete collection class ArrayList used.
int getTotalLength(ArrayList&lt;String&gt; list) {
return list.stream().mapToInt(String::length).sum();
}
// No warning, as trimToSize() method is not
// available in the List interface
void addData(ArrayList&lt;String&gt; data) {
data.add("Hello");
data.add("World");
data.trimToSize();
}
</code></pre>
A quick-fix is suggested to use the appropriate collection interface (e.g. <code>Collection</code>, <code>Set</code>, or <code>List</code>).
<!-- tooltip end -->
</body>
</html>