include::../description.adoc[] == Noncompliant Code Example ---- public class S1944 { public static void main(String[] args) { List list = (List) getAttributes(); // Noncompliant; List return by getAttributes() is not be casted to List String s = list.get(0); // java.lang.ClassCastException will be raised here } private static List getAttributes() { List result = new ArrayList<>(); result.add(0); return result; } } ---- == Compliant Solution ---- public class S1944 { public static void main(String[] args) { List list = (List) getAttributes(); // Compliant String s = String.valueOf(list.get(0)); } private static List getAttributes() { List result = new ArrayList<>(); result.add(0); return result; } } ---- == See * https://wiki.sei.cmu.edu/confluence/x/u9UxBQ[CERT, EXP36-C.] - Do not cast pointers into more strictly aligned pointer types * https://cwe.mitre.org/data/definitions/588.html[MITRE, CWE-588] - Attempt to Access Child of a Non-structure Pointer * https://cwe.mitre.org/data/definitions/704.html[MITRE, CWE-704] - Incorrect Type Conversion or Cast ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::message.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]