
Nick P. answered 03/28/21
Sr Fullstack Software Engineer Specializing in Java and Angular 1
It is a non primitive data type. The only primitive data types are boolean , byte , char , short , int , long , float and double. A hint for quickly seeing if you are using a primitives is that they are usually the only types that are lowercased when you define them.
i.e. (primitive) int intValue = 1; vs (object based) Integer integerValue = 1;
Generally, anything else inherits from the base class Object if you follow the inheritance chain down far enough.