I am getting a little confused about which data types are primative and which are complex. The confusion really lies with only 1 or 2 of the data types. Below I have listed what I think is correct.
Primitive:
Blob, Boolean, Date, Datetime, Decimal, Double, ID, Integer, Long, Object (This one causes a little confusion as I believe sObject is complex but isn't Object the superclass of Sobject?), String
Complex:
Sobject, List, Set, Map, Enum
Is the above all correct? I understand that primitive data types are technically not primitive since they can be null and have methods so I am unsure what the defining characteristics are for a primitive and complex data type.