In Structure and Interpretation of Computer Programs by Gerald Jay Sussman and Harry Abelson first-class citizens are described with:
- They may be named by variables.
- They may be passed as arguments to procedures.
- They may be returned as the results of procedures.
- They may be included in data structures.
For me it means that primitive data type is the first-class citizen. However is some questions and answers I see answer considering primitives as non first-class citizens.
The question is: are Java's primitives first class citizen?