BeginnersBook

  • Home
  • Java
    • Java OOPs
    • Java Collections
    • Java Examples
  • C
    • C Examples
  • C++
    • C++ Examples
  • DBMS
  • Computer Network
  • Python
    • Python Examples
  • More…
    • jQuery
    • Kotlin
    • WordPress
    • SEO
    • JSON
    • JSP
    • JSTL
    • Servlet
    • MongoDB
    • XML
    • Perl

Java int vs Integer

Last Updated: June 10, 2024 by Chaitanya Singh | Filed Under: java

In this guide, you will learn the differences between int and Integer. Both of these are the data types that represents integer values. However they serve different purposes and usages.

int

  • Primitive Data Type: int is a primitive data type in Java.
  • Memory Efficiency: It takes less space in memory compared to Integer so it is more memory efficient. It takes 4 bytes compared to 16 bytes taken by Integer.
  • Default Value: The default value of an int is 0.
  • No Methods: int is a primitive data type, hence it doesn’t have any methods associated with it.
  • Usage: Commonly used in arithmetic operations.

Integer

  • Wrapper Class: Integer is a wrapper class that belongs to java.lang package.
  • Object: Integer is a class so an object can be created for this class. It can be used where objects are required for example, collections (e.g., LinkedList<Integer>).
  • Memory Overhead: Integer takes more space in memory compared to int because they store metadata along with actual data.
  • Default Value: The default value of an Integer is null.
  • Methods: Integer class provides several useful methods such as intValue(), parseInt(), toString(), valueOf() etc.
  • Autoboxing and Unboxing: The autoboxing and unboxing feature of Java provides automatic conversion between int and Integer.

Java int vs Integer Example

Let’s take an example to understand the key differences between these two.

public class IntVsInteger {
public static void main(String[] args) {
// Using int
int primitiveInt = 5;
System.out.println("Primitive int: " + primitiveInt);

// Using Integer
Integer wrapperInt = 10;
System.out.println("Wrapper Integer: " + wrapperInt);

// Autoboxing: int to Integer Conversion
Integer autoBoxedInt = primitiveInt;
System.out.println("int to Integer: " + autoBoxedInt);

// Unboxing: Integer to int Conversion
int unboxedInt = wrapperInt;
System.out.println("Integer to int: " + unboxedInt);

// Demonstrating methods of Integer class
String intString = Integer.toString(primitiveInt);
int parsedInt = Integer.parseInt(intString);
System.out.println("Parsed int from String: " + parsedInt);
}
}

Key Differences

  • Memory and Performance: int is more memory-efficient and faster compared to an Integer.
  • Nullability: Integer can be null because it is an object, while int cannot be null, they have default 0 value.
  • Collections: When working with Collections such as ArrayList, LinkedList, HashMap etc, Integer is preferred because these collections require objects.

Top Related Articles:

  1. Java Annotations tutorial with examples
  2. Passing a List to a Varargs method
  3. Why String Immutable or Final in Java
  4. Java Integer byteValue() Method
  5. Constructor Overloading in Java with examples

About the Author

I have 15 years of experience in the IT industry, working with renowned multinational corporations. Additionally, I have dedicated over a decade to teaching, allowing me to refine my skills in delivering information in a simple and easily understandable manner.

– Chaitanya

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Java Tutorial

Java Introduction

  • Java Index
  • Java Introduction
  • History of Java
  • Features of Java
  • C++ vs Java
  • JDK vs JRE vs JVM
  • JVM - Java Virtual Machine
  • First Java Program
  • Variables
  • Data Types
  • Operators

Java Flow Control

  • Java If-else
  • Java Switch-Case
  • Java For loop
  • Java while loop
  • Java do-while loop
  • Continue statement
  • break statement

Java Arrays

  • Java Arrays

OOPs Concepts

  • OOPs Concepts
  • Constructor
  • Java String
  • Static keyword
  • Inheritance
  • Types of inheritance
  • Aggregation
  • Association
  • Super Keyword
  • Method overloading
  • Method overriding
  • Overloading vs Overriding
  • Polymorphism
  • Types of polymorphism
  • Static and dynamic binding
  • Abstract class and methods
  • Interface
  • Abstract class vs interface
  • Encapsulation
  • Packages
  • Access modifiers
  • Garbage Collection
  • Inner classes
  • Static import
  • Static constructor

Java Exception Handling

  • Exception handling
  • Java try-catch
  • Java throw
  • Java throws
  • Checked and Unchecked Exceptions
  • Jav try catch finally
  • Exception Examples
  • Exception Propagation

Collections Framework

  • Collections in Java
  • Java ArrayList
  • Java LinkedList
  • Java Vector
  • Java HashSet
  • Java LinkedHashSet
  • Java TreeSet
  • Java HashMap
  • Java TreeMap
  • Java LinkedHashMap
  • Java Queue
  • Java PriorityQueue
  • Java Deque
  • Comparable interface
  • Comparator interface
  • Collections Interview Questions

MORE ...

  • Java Scanner Class
  • Java 8 Features
  • Java 9 Features
  • Java Conversion
  • Java Date
  • Java Multithreading
  • Java I/O
  • Java Serialization
  • Java Regex
  • Java AWT
  • Java Swing
  • Java Enum
  • Java Annotations
  • Java main method
  • Java Interview Q

Copyright © 2012 – 2025 BeginnersBook . Privacy Policy . Sitemap