34 lines
986 B
Plaintext
34 lines
986 B
Plaintext
include::../description.adoc[]
|
|
|
|
== Noncompliant Code Example
|
|
|
|
----
|
|
public void printSize(ArrayList<Object> list) { // Collection can be used instead
|
|
System.out.println(list.size());
|
|
}
|
|
|
|
public static void loop(List<Object> list) { // java.lang.Iterable can be used instead
|
|
for (Object o : list) {
|
|
o.toString();
|
|
}
|
|
}
|
|
----
|
|
|
|
== Compliant Solution
|
|
|
|
----
|
|
public void printSize(Collection<?> list) { // Collection can be used instead
|
|
System.out.println(list.size());
|
|
}
|
|
|
|
public static void loop(Iterable<?> list) { // java.lang.Iterable can be used instead
|
|
for (Object o : list) {
|
|
o.toString();
|
|
}
|
|
}
|
|
----
|
|
|
|
== Exceptions
|
|
|
|
Parameters in non-public methods are not checked, because such methods are not intended to be generally reusable. ``java.lang.String`` parameters are excluded, because String is immutable and can not be always substituted for more generic type. Parameters used in any other context than method invocation or enhanced for loop are also excluded.
|