[Fix] Java: Type argument cannot be of primitive type generics

If you are using a generic class or collection type with generics and you pass in a primitive type - short, int, long, float, double, char, boolean, you will get the below error either at the runtime or compile-time,

Compile Time Error: Type argument cannot be of primitive type

Run Time Error:
java: unexpected type
  required: reference
  found:    int
Code with Compilation Error:
List<int> list = new ArrayList<>();


You need to replace the primitive type with its respective Object type,

int -> Integer
byte -> Byte
short -> Short
long -> Long
float -> Float
double -> Double
char -> Character

Fixed Code:
List<Integer> list = new ArrayList<>();

If you are using an IDE like Eclipse or IntelliJ, you should get a hint on how to replace it,

Type argument cannot be of primitive type
Try Out Code2care Dev Tools:


#Android #Java #Linux #Microsoft #Google #Python #MacOS #Notepad++ #Microsoft Teams #CSS #PHP #SharePoint #Html #Linux #C-Program #Bootstrap #jQuery #Sublime #Android-Studio #Facebook #Eclipse #WhatsApp #News #MySQL #Json #HowTos #JavaScript #FTP #S3


Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and Software Developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include Learnings, Tutorials, Trouble-Shooting steps, Video Tutorials, Code Snippets, How Tos, Blogs, Articles, etc.
🎉 We are celebrating the 10th years of Code2care! Thank you for all your support! We hope we made a difference.
We strong support Gender Equality & Diversity.

We stand in solidarity with Ukraine - Make a donation to UNHCR - https://donate.unhcr.org/in/en-in/ukraine-emergency