Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • Java Arrays
  • Java Strings
  • Java OOPs
  • Java Collection
  • Java 8 Tutorial
  • Java Multithreading
  • Java Exception Handling
  • Java Programs
  • Java Project
  • Java Collections Interview
  • Java Interview Questions
  • Java MCQs
  • Spring
  • Spring MVC
  • Spring Boot
  • Hibernate
Open In App
Next Article:
Java.lang.Integer class in Java
Next article icon

Java.lang.Number Class in Java

Last Updated : 31 Jan, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

Most of the time, while working with numbers in java, we use primitive data types. But, Java also provides various numeric wrapper sub classes under the abstract class Number present in java.lang package. There are mainly six sub-classes under Number class.These sub-classes define some useful methods which are used frequently while dealing with numbers.
 

objects-numberHierarchy

These classes “wrap” the primitive data type in a corresponding object. Often, the wrapping is done by the compiler. If you use a primitive where an object is expected, the compiler boxes the primitive in its wrapper class for you. Similarly, if you use a Number object when a primitive is expected, the compiler unboxes the object for you. This is also called Autoboxing and Unboxing.
Why to use a Number class object over primitive data? 
 

  • Constants defined by the number class, such as MIN_VALUE and MAX_VALUE, that provide the upper and lower bounds of the data type are very much useful.
  • Number class object can be used as an argument of a method that expects an object (often used when manipulating collections of numbers).
  • Class methods can be used for converting values to and from other primitive types, for converting to and from strings, and for converting between number systems (decimal, octal, hexadecimal, binary).

Methods common to all sub classes of Number: 
 

  1. xxx xxxValue() : Here xxx represent primitive number data types (byte, short, int, long, float, double). This method is used to convert the value of this Number object to the primitive data type specified. 
     
Syntax :  byte byteValue() short shortValue() int intValue() long longValue() float floatValue() double doubleValue() Parameters :  ---- Returns : the numeric value represented by this object after conversion to specified type

 

Java




//Java program to demonstrate xxxValue() method
public class Test
{
    public static void main(String[] args)
    {
        // Creating a Double Class object with value "6.9685"
        Double d = new Double("6.9685");
     
        // Converting this Double(Number) object to
        // different primitive data types
        byte b = d.byteValue();
        short s = d.shortValue();
        int i = d.intValue();
        long l = d.longValue();
        float f = d.floatValue();
        double d1 = d.doubleValue();
             
        System.out.println("value of d after converting it to byte : " + b);
        System.out.println("value of d after converting it to short : " + s);
        System.out.println("value of d after converting it to int : " + i);
        System.out.println("value of d after converting it to long : " + l);
        System.out.println("value of d after converting it to float : " + f);
        System.out.println("value of d after converting it to double : " + d1);
    }
}
 
 

Output: 
 

value of d after converting it to byte : 6 value of d after converting it to short : 6 value of d after converting it to int : 6 value of d after converting it to long : 6 value of d after converting it to float : 6.9685 value of d after converting it to double : 6.9685

Note : While converting, possible loss of precision may occur. For example, as we can see that fraction part(“.9685”) has been left out while converting from Double object to int data type. 
 

  • int compareTo(NumberSubClass referenceName) : This method is used to compare this Number object to the argument specified. However, two different types cannot be compared, so both the argument and the Number object that invoke the method should be of the same type.The referenceName could be a Byte, Double, Integer, Float, Long, or Short. 
     
Syntax :  public int compareTo( NumberSubClass referenceName ) Parameters :  referenceName - any NumberSubClass type value Returns : the value 0 if the Number is equal to the argument. the value 1 if the Number is less than the argument. the value -1 if the Number is greater than the argument.

 

Java




//Java program to demonstrate compareTo() method
public class Test
{
    public static void main(String[] args)
    {
        // creating an Integer Class object with value "10"
        Integer i = new Integer("10");
     
        // comparing value of i
        System.out.println(i.compareTo(7));
        System.out.println(i.compareTo(11));
        System.out.println(i.compareTo(10));
    }
}
 
 

Output: 
 

1 -1 0

 

  • boolean equals(Object obj) : This method determine whether this Number object is equal to the argument. 
     
Syntax :  public boolean equals(Object obj) Parameters :  obj - any object Returns : The method returns true if the argument is not null and  is an object of the same type and with the same numeric value, otherwise false.

 

Java




//Java program to demonstrate equals() method
public class Test
{
    public static void main(String[] args)
    {
        // creating a Short Class object with value "15"
        Short s = new Short("15");
     
        // creating a Short Class object with value "10"
        Short x = 10;
     
        // creating an Integer Class object with value "15"
        Integer y = 15;
     
        // creating another Short Class object with value "15"
        Short z = 15;
     
        //comparing s with other objects
        System.out.println(s.equals(x));
        System.out.println(s.equals(y));
        System.out.println(s.equals(z));
    }
}
 
 

Output: 
 

false false true

 

  • int parseInt(String s,int radix) : This method is used to get the primitive data type of a String. Radix is used to return decimal(10), octal(8), or hexadecimal(16) etc representation as output. 
     
Syntax :  static int parseInt(String s, int radix) Parameters :  s - any String representation of decimal radix - any radix value Returns : the integer value represented by the argument in decimal. Throws : NumberFormatException : if the string does not contain a parsable integer.

 

Java




//Java program to demonstrate Integer.parseInt() method
public class Test
{
    public static void main(String[] args)
    {
        // parsing different strings
        int z = Integer.parseInt("654",8);
        int a = Integer.parseInt("-FF", 16);
        long l = Long.parseLong("2158611234",10);
             
        System.out.println(z);
        System.out.println(a);
        System.out.println(l);
             
        // run-time NumberFormatException will occur here
        // "Geeks" is not a parsable string
        int x = Integer.parseInt("Geeks",8);
             
        // run-time NumberFormatException will occur here
        // (for octal(8),allowed digits are [0-7])
        int y = Integer.parseInt("99",8);
             
    }
}
 
 

Output: 
 

428 -255 2158611234 Exception in thread "main" java.lang.NumberFormatException: For input string: "Geeks"     at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)     at java.lang.Integer.parseInt(Integer.java:580)     at Test.main(Test.java:17)

 

  • int parseInt(String s) : This method is another variant of above method where by default radix is 10(decimal). 
     
Syntax :  static int parseInt(String s) Parameters :  s - any String representation of decimal Returns : the integer value represented by the argument in decimal. Throws : NumberFormatException : if the string does not contain a parsable integer.

 

Java




//Java program to demonstrate Integer.parseInt() method
public class Test
{
    public static void main(String[] args)
    {
        // parsing different strings
        int z = Integer.parseInt("654");
        long l = Long.parseLong("2158611234");
             
        System.out.println(z);
        System.out.println(l);
             
        // run-time NumberFormatException will occur here
        // "Geeks" is not a parsable string
        int x = Integer.parseInt("Geeks");
             
        // run-time NumberFormatException will occur here
        // (for decimal(10),allowed digits are [0-9])
        int a = Integer.parseInt("-FF");
             
    }
}
 
 

Output: 
 

654 2158611234 Exception in thread "main" java.lang.NumberFormatException: For input string: "Geeks"     at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)     at java.lang.Integer.parseInt(Integer.java:580)     at java.lang.Integer.parseInt(Integer.java:615)     at Test.main(Test.java:15)

 

  • String toString() : There are two variants of toString() method. They are used to get String representation of a number. The other variants of these methods are Integer.toBinaryString(int i), Integer.toHexString(int i), Integer.toOctalString(int i) which will return binary, hexa-decimal, octal string representation of specified integer(i) respectively. 
     
Syntax :  String toString() String toString(int i) Parameters :  String toString() - no parameter String toString(int i) - i: any integer value Returns : String toString() - returns a String object representing the value of the Number object  on which it is invoked. String toString(int i) - returns a decimal String object representing the specified integer(i)

Java




//Java program to demonstrate Integer.toString()
//and Integer.toString(int i) method
public class Test
{
    public static void main(String[] args)
    {
        // demonstrating toString() method
        Integer x = 12;
         
        System.out.println(x.toString());
         
        // demonstrating toString(int i) method
        System.out.println(Integer.toString(12));
         
        System.out.println(Integer.toBinaryString(152));
        System.out.println(Integer.toHexString(152));
        System.out.println(Integer.toOctalString(152));
    }
}
 
 

Output: 
 

12 12 10011000 98 230

 

  • Integer valueOf() : There are three variants of valueOf() method. All these three methods return an Integer object holding the value of a primitive integer. 
     
Syntax :  Integer valueOf(int i) Integer valueOf(String s) Integer valueOf(String s, int radix) Parameters :  i - any integer value s - any String representation of decimal radix - any radix value Returns : valueOf(int i) : an Integer object holding the valuerepresented by the int argument. valueOf(String s) : an Integer object holding value represented by the string argument. valueOf(String s, int radix) : an Integer object holding the value  represented by the string argument with base radix. Throws : valueOf(String s) - NumberFormatException : if the string does not contain a parsable integer. valueOf(String s, int radix) - NumberFormatException : if the string does not contain a parsable integer.

 

Java




// Java program to demonstrate valueOf() method
public class Test
{
    public static void main(String[] args)
    {
        // demonstrating valueOf(int i) method
        System.out.println("Demonstrating valueOf(int i) method");
        Integer i =Integer.valueOf(50);
        Double d = Double.valueOf(9.36);
        System.out.println(i);
        System.out.println(d);
             
        // demonstrating valueOf(String s) method
        System.out.println("Demonstrating valueOf(String s) method");
        Integer n = Integer.valueOf("333");
        Integer m = Integer.valueOf("-255");
        System.out.println(n);
        System.out.println(m);
             
        // demonstrating valueOf(String s,int radix) method
        System.out.println("Demonstrating (String s,int radix) method");
        Integer y = Integer.valueOf("333",8);
        Integer x = Integer.valueOf("-255",16);
        Long l = Long.valueOf("51688245",16);
        System.out.println(y);
        System.out.println(x);
        System.out.println(l);
             
        // run-time NumberFormatException will occur in below cases
        Integer a = Integer.valueOf("Geeks");
        Integer b = Integer.valueOf("Geeks",16);
    }
}
 
 

Output: 
 

Demonstrating valueOf(int i) method 50 9.36 Demonstrating valueOf(String s) method 333 -255 Demonstrating (String s,int radix) method 219 -597 1365803589  Exception in thread "main" java.lang.NumberFormatException: For input string: "Geeks"     at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)     at java.lang.Integer.parseInt(Integer.java:580)     at java.lang.Integer.valueOf(Integer.java:766)     at Test.main(Test.java:28)

 

Practice Question: 
What is the output of the given java code? 
 

Java




public class Test
{
   public static void main(String[] args)
   {
       Integer i = Integer.parseInt("Kona", 27);
       System.out.println(i);
   }
}
 
 

Options : 
 

A) NumberFormatException at run-time B) NumberFormatException at compile-time C) 411787

Answer : 
 

C) 411787

Explanation : 
Since radix is 27,so allowed characters in a String literal are [0-9],[A-Q](for 10 to 26).So its value will calculated as follows: 
=> a*(27^0) + n*(27^1) + o*(27^2) + k*(27^3) 
=> 10*1 + 23*27 + 24*27*27 + 20*27*27*27 
=> 10 + 621 + 17496 + 393660 
=> 411787

 



Next Article
Java.lang.Integer class in Java

G

Gaurav Miglani
Improve
Article Tags :
  • Java
Practice Tags :
  • Java

Similar Reads

  • Wrapper Classes in Java
    A Wrapper class in Java is one whose object wraps or contains primitive data types. When we create an object in a wrapper class, it contains a field, and in this field, we can store primitive data types. In other words, we can wrap a primitive value into a wrapper class object. Let's check on the wr
    6 min read
  • Primitive Wrapper Classes are Immutable in Java
    In Java, an immutable class is a class (Integer, Byte, Long, Float, Double, Character, Boolean, and Short) which once created then its body can not be changed and the same applies to immutable objects which once created cannot be changed. Now the question arises that we do need the help of wrapper c
    3 min read
  • Java.lang.Number Class in Java
    Most of the time, while working with numbers in java, we use primitive data types. But, Java also provides various numeric wrapper sub classes under the abstract class Number present in java.lang package. There are mainly six sub-classes under Number class.These sub-classes define some useful method
    9 min read
  • Java.lang.Integer class in Java
    Integer class is a wrapper class for the primitive type int which contains several methods to effectively deal with an int value like converting it to a string representation, and vice-versa. An object of the Integer class can hold a single int value. Constructors: Integer(int b): Creates an Integer
    15 min read
  • Java.Lang.Byte class in Java
    In Java, Byte class is a wrapper class for the primitive type byte which contains several methods to effectively deal with a byte value like converting it to a string representation, and vice-versa. An object of the Byte class can hold a single byte value. Constructors of Byte Class There are mainly
    6 min read
  • Java.Lang.Short class in Java
    Short class is a wrapper class for the primitive type short which contains several methods to effectively deal with a short value like converting it to a string representation, and vice-versa. An object of Short class can hold a single short value. There are mainly two constructors to initialize a S
    6 min read
  • Java.Lang.Long class in Java
    Long class is a wrapper class for the primitive type long which contains several methods to effectively deal with a long value like converting it to a string representation, and vice-versa. An object of Long class can hold a single long value. There are mainly two constructors to initialize a Long o
    12 min read
  • Java.Lang.Float class in Java
    Float class is a wrapper class for the primitive type float which contains several methods to effectively deal with a float value like converting it to a string representation, and vice-versa. An object of the Float class can hold a single float value. There are mainly two constructors to initialize
    6 min read
  • Java.Lang.Double Class in Java
    Double class is a wrapper class for the primitive type double which contains several methods to effectively deal with a double value like converting it to a string representation, and vice-versa. An object of the Double class can hold a single double value. Double class is a wrapper class for the pr
    4 min read
  • Java.lang.Boolean Class in Java
    Java provides a wrapper class Boolean in java.lang package. The Boolean class wraps a value of the primitive type boolean in an object. An object of type Boolean contains a single field, whose type is boolean. In addition, this class provides useful methods like to convert a boolean to a String and
    8 min read
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
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
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