Skip to content
    geeksforgeeks
    • Interview Prep
      • DSA
      • Interview Corner
      • Aptitude & Reasoning
      • Practice Coding Problems
      • All Courses
    • Tutorials
      • Python
      • Java
      • ML & Data Science
      • Programming Languages
      • Web Development
      • CS Subjects
      • DevOps
      • Software and Tools
      • School Learning
    • Tracks
      • Languages
        • Python
        • C
        • C++
        • Java
        • Advanced Java
        • SQL
        • JavaScript
        • C#
      • Interview Preparation
        • GfG 160
        • GfG 360
        • System Design
        • Core Subjects
        • Interview Questions
        • Interview Puzzles
        • Aptitude and Reasoning
        • Product Management
        • Computer Organisation and Architecture
      • Data Science
        • Python
        • Data Analytics
        • Complete Data Science
        • Gen AI
        • Agentic AI
      • Dev Skills
        • Full-Stack Web Dev
        • DevOps
        • Software Testing
        • CyberSecurity
        • NextJS
        • Git
      • Tools
        • Computer Fundamentals
        • AI Tools
        • MS Excel & Google Sheets
        • MS Word & Google Docs
      • Maths
        • Maths For Computer Science
        • Engineering Mathematics
        • School Maths
    • Java Tutorial
    • Advanced Java
    • Interview Questions
    • Exercises
    • Examples
    • Quizzes
    • Projects
    • Cheatsheet
    • DSA in Java
    • Java Collection
    Open In App

    Is an array a primitive type or an object in Java?

    Last Updated : 11 Dec, 2018
    Comments
    Improve
    Suggest changes
    20 Likes
    Like
    Report
    An array in Java is an object. Now the question how is this possible? What is the reason behind that? In Java, we can create arrays by using new operator and we know that every object is created using new operator. Hence we can say that array is also an object. Now the question also arises, every time we create an object for a class then what is the class of array?
    • In Java, there is a class for every array type, so there's a class for int[] and similarly for float, double etc.
    • The direct superclass of an array type is Object. Every array type implements the interfaces Cloneable and java.io.Serializable.
    • In the Java programming language, arrays are objects (§4.3.1), are dynamically created, and may be assigned to variables of type Object (§4.3.2). All methods of class Object may be invoked on an array.
    For every array type corresponding classes are available and these classes are the part of java language and not available to the programmer level. To know the class of any array, we can go with the following approach:
    // Here x is the name of the array.
    System.out.println(x.getClass().getName()); 
    Java
    // Java program to display class of 
    // int array type
    public class Test
    {
        public static void main(String[] args)
        {
            int[] x = new int[3];
            System.out.println(x.getClass().getName());
        }
    }
    
    Output:
    [I 
    
    NOTE:[I this is the class for this array, one [ (square bracket) because it is one dimensional and I for integer data type. Here is the table specifying the corresponding class name for some array types:-
    Array type             Corresponding class Name
    int[]                     [I
    int[][]                   [[I
    double[]                  [D
    double[][]                [[D
    short[]                   [S
    byte[]                    [B
    boolean[]                 [Z
    
    In Java programming language, arrays are objects which are dynamically created, and may be assigned to variables of type Object. All methods of class Object may be invoked on an array. Java
    // Java program to check the class of 
    // int array type
    public class Test {
        public static void main(String[] args)
        {
            // Object is the parent class of all classes 
            // of Java. Here args is the object of String
            // class.
            System.out.println(args instanceof Object);
    
            int[] arr = new int[2];
    
            // Here arr is also an object of int class.
            System.out.println(arr instanceof Object);
        }
    }
    
    Output:
    true
    true
    
    Reference : https://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html
    Create Quiz

    B

    Bishal Dubey
    Improve

    B

    Bishal Dubey
    Improve
    Article Tags :
    • Misc
    • Java
    • Java-Arrays
    • Java-Array-Programs

    Explore

      Java Basics

      Introduction to Java

      3 min read

      Java Programming Basics

      9 min read

      Java Methods

      6 min read

      Access Modifiers in Java

      4 min read

      Arrays in Java

      7 min read

      Java Strings

      7 min read

      Regular Expressions in Java

      3 min read

      OOP & Interfaces

      Classes and Objects in Java

      5 min read

      Access Modifiers in Java

      4 min read

      Java Constructors

      4 min read

      Java OOP(Object Oriented Programming) Concepts

      10 min read

      Java Packages

      2 min read

      Java Interface

      7 min read

      Collections

      Collections in Java

      12 min read

      Collections Class in Java

      13 min read

      Collection Interface in Java

      4 min read

      Iterator in Java

      4 min read

      Java Comparator Interface

      5 min read

      Exception Handling

      Java Exception Handling

      6 min read

      Java Try Catch Block

      4 min read

      Java final, finally and finalize

      4 min read

      Chained Exceptions in Java

      3 min read

      Null Pointer Exception in Java

      5 min read

      Exception Handling with Method Overriding in Java

      4 min read

      Java Advanced

      Java Multithreading Tutorial

      3 min read

      Synchronization in Java

      7 min read

      File Handling in Java

      4 min read

      Java Method References

      7 min read

      Java 8 Stream Tutorial

      7 min read

      Java Networking

      6 min read

      JDBC Tutorial

      5 min read

      Java Memory Management

      3 min read

      Garbage Collection in Java

      6 min read

      Memory Leaks in Java

      3 min read

      Practice Java

      Java Interview Questions and Answers

      1 min read

      Java Programs - Java Programming Examples

      7 min read

      Java Exercises - Basic to Advanced Java Practice Programs with Solutions

      5 min read

      Java Quiz

      1 min read

      Java Project Ideas For Beginners and Advanced

      15+ min read
    top_of_element && top_of_screen < bottom_of_element) || (bottom_of_screen > articleRecommendedTop && top_of_screen < articleRecommendedBottom) || (top_of_screen > articleRecommendedBottom)) { if (!isfollowingApiCall) { isfollowingApiCall = true; setTimeout(function(){ if (loginData && loginData.isLoggedIn) { if (loginData.userName !== $('#followAuthor').val()) { is_following(); } else { $('.profileCard-profile-picture').css('background-color', '#E7E7E7'); } } else { $('.follow-btn').removeClass('hideIt'); } }, 3000); } } }); } $(".accordion-header").click(function() { var arrowIcon = $(this).find('.bottom-arrow-icon'); arrowIcon.toggleClass('rotate180'); }); }); window.isReportArticle = false; function report_article(){ if (!loginData || !loginData.isLoggedIn) { const loginModalButton = $('.login-modal-btn') if (loginModalButton.length) { loginModalButton.click(); } return; } if(!window.isReportArticle){ //to add loader $('.report-loader').addClass('spinner'); jQuery('#report_modal_content').load(gfgSiteUrl+'wp-content/themes/iconic-one/report-modal.php', { PRACTICE_API_URL: practiceAPIURL, PRACTICE_URL:practiceURL },function(responseTxt, statusTxt, xhr){ if(statusTxt == "error"){ alert("Error: " + xhr.status + ": " + xhr.statusText); } }); }else{ window.scrollTo({ top: 0, behavior: 'smooth' }); $("#report_modal_content").show(); } } function closeShareModal() { const shareOption = document.querySelector('[data-gfg-action="share-article"]'); shareOption.classList.remove("hover_share_menu"); let shareModal = document.querySelector(".hover__share-modal-container"); shareModal && shareModal.remove(); } function openShareModal() { closeShareModal(); // Remove existing modal if any let shareModal = document.querySelector(".three_dot_dropdown_share"); shareModal.appendChild(Object.assign(document.createElement("div"), { className: "hover__share-modal-container" })); document.querySelector(".hover__share-modal-container").append( Object.assign(document.createElement('div'), { className: "share__modal" }), ); document.querySelector(".share__modal").append(Object.assign(document.createElement('h1'), { className: "share__modal-heading" }, { textContent: "Share to" })); const socialOptions = ["LinkedIn", "WhatsApp","Twitter", "Copy Link"]; socialOptions.forEach((socialOption) => { const socialContainer = Object.assign(document.createElement('div'), { className: "social__container" }); const icon = Object.assign(document.createElement("div"), { className: `share__icon share__${socialOption.split(" ").join("")}-icon` }); const socialText = Object.assign(document.createElement("span"), { className: "share__option-text" }, { textContent: `${socialOption}` }); const shareLink = (socialOption === "Copy Link") ? Object.assign(document.createElement('div'), { role: "button", className: "link-container CopyLink" }) : Object.assign(document.createElement('a'), { className: "link-container" }); if (socialOption === "LinkedIn") { shareLink.setAttribute('href', `https://www.linkedin.com/sharing/share-offsite/?url=${window.location.href}`); shareLink.setAttribute('target', '_blank'); } if (socialOption === "WhatsApp") { shareLink.setAttribute('href', `https://api.whatsapp.com/send?text=${window.location.href}`); shareLink.setAttribute('target', "_blank"); } if (socialOption === "Twitter") { shareLink.setAttribute('href', `https://twitter.com/intent/tweet?url=${window.location.href}`); shareLink.setAttribute('target', "_blank"); } shareLink.append(icon, socialText); socialContainer.append(shareLink); document.querySelector(".share__modal").appendChild(socialContainer); //adding copy url functionality if(socialOption === "Copy Link") { shareLink.addEventListener("click", function() { var tempInput = document.createElement("input"); tempInput.value = window.location.href; document.body.appendChild(tempInput); tempInput.select(); tempInput.setSelectionRange(0, 99999); // For mobile devices document.execCommand('copy'); document.body.removeChild(tempInput); this.querySelector(".share__option-text").textContent = "Copied" }) } }); // document.querySelector(".hover__share-modal-container").addEventListener("mouseover", () => document.querySelector('[data-gfg-action="share-article"]').classList.add("hover_share_menu")); } function toggleLikeElementVisibility(selector, show) { document.querySelector(`.${selector}`).style.display = show ? "block" : "none"; } function closeKebabMenu(){ document.getElementById("myDropdown").classList.toggle("show"); }
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Campus Training Program
  • Explore
  • POTD
  • Job-A-Thon
  • Blogs
  • Nation Skill Up
  • Tutorials
  • Programming Languages
  • DSA
  • Web Technology
  • AI, ML & Data Science
  • DevOps
  • CS Core Subjects
  • Interview Preparation
  • Software and Tools
  • Courses
  • ML and Data Science
  • DSA and Placements
  • Web Development
  • Programming Languages
  • DevOps & Cloud
  • GATE
  • Trending Technologies
  • Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
  • Preparation Corner
  • Interview Corner
  • Aptitude
  • Puzzles
  • GfG 160
  • System Design
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences