SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Programming in Java
Lecture 9: Wrapper Classes
By
Ravi Kant Sahu
Asst. Professor
Lovely Professional University, PunjabLovely Professional University, Punjab
Introduction
 Most of the objects collection store objects and not primitive
types.
 Primitive types can be used as object when required.
 As they are objects, they can be stored in any of the collection
and pass this collection as parameters to the methods.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Wrapper Class
 Wrapper classes are classes that allow primitive types to be
accessed as objects.
 Wrapper class is wrapper around a primitive data type because
they "wrap" the primitive data type into an object of that class.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
What is Wrapper Class?
 Each of Java's eight primitive data types has a class dedicated
to it.
 They are one per primitive type: Boolean, Byte, Character,
Double, Float, Integer, Long and Short.
 Wrapper classes make the primitive type data to act as objects.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Primitive Data Types and Wrapper Classes
Data Type Wrapper Class
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
boolean Boolean
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Difference b/w Primitive Data Type and
Object of a Wrapper Class
 The following two statements illustrate the difference between
a primitive data type and an object of a wrapper class:
int x = 25;
Integer y = new Integer(33);
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
 The first statement declares an int variable named x
and initializes it with the value 25.
 The second statement instantiates an Integer object. The
object is initialized with the value 33 and a reference to the
object is assigned to the object variable y.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
 Clearly x and y differ by more than their values:
x is a variable that holds a value;
y is an object variable that holds a reference to an object.
 So, the following statement using x and y as declared above
is not allowed:
int z = x + y; // wrong!
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
 The data field in an Integer object is only accessible using the
methods of the Integer class.
 One such method is intValue() method which returns an int
equal to the value of the object, effectively "unwrapping" the
Integer object:
int z = x + y.intValue(); // OK!
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
What is the need of Wrapper Classes?
 Wrapper classes are used to be able to use the primitive data-
types as objects.
 Many utility methods are provided by wrapper classes.
To get these advantages we need to use wrapper classes.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
What is the need of Wrapper Classes?
 There are three reasons that we might use a Number object rather
than a primitive:
 As an argument of a method that expects an object (often used
when manipulating collections of numbers).
 To use constants defined by the class, such as MIN_VALUE and
MAX_VALUE, that provide the upper and lower bounds of the
data type.
 To use class methods 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).
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Boxing and Unboxing
 The wrapping is done by the compiler.
 if we use a primitive where an object is expected, the compiler boxes the
primitive in its wrapper class.
 Similarly, if we use a number object when a primitive is expected, the
compiler un-boxes the object.
Example of boxing and unboxing:
 Integer x, y; x = 12; y = 15; System.out.println(x+y);
 When x and y are assigned integer values, the compiler boxes the integers
because x and y are integer objects.
 In the println() statement, x and y are unboxed so that they can be added as
integers.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Numeric Wrapper Classes
 All of the numeric wrapper classes are subclasses of the
abstract class Number .
 Short, Integer, Double and Long implement Comparable
interface.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Features of Numeric Wrapper Classes
 Provides a way to store primitive data in an object.
 All numeric wrapper classes implement typeValue() method.
 This method returns the value of the object as its primitive
type.
 byteValue(), intValue(), floatValue(), doubleValue() etc.
 Example:
int a = 10; System.out.println(a.floatValue());
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Features of Numeric Wrapper Classes
 All the numeric wrapper classes provide a method to convert a
numeric string into a primitive value.
public static type parseType (String Number)
 parseInt()
 parseFloat()
 parseDouble()
 parseLong()
…
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Features of Numeric Wrapper Classes
 All the wrapper classes provide a static method toString to
provide the string representation of the primitive values.
public static String toString (type value)
Example:
public static String toString (int a)
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Features of Numeric Wrapper Classes
 All numeric wrapper classes have a static method valueOf,
which is used to create a new object initialized to the value
represented by the specified string.
public static DataType valueOf (String s)
Example:
Integer i = Integer.valueOf (“135”);
Double d = Double.valueOf (“13.5”);
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Methods implemented by subclasses of Number
 Converts the value of the Number object to the
primitive data type returned.
byte byteValue()
short shortValue()
int intValue()
long longValue()
float floatValue()
double doubleValue()
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Methods implemented by subclasses of Number
 Compares this Number object to the argument.
int compareTo(Byte anotherByte)
int compareTo(Double anotherDouble)
int compareTo(Float anotherFloat)
int compareTo(Integer anotherInteger)
int compareTo(Long anotherLong)
int compareTo(Short anotherShort)
 returns int after comparison (-1, 0, 1).
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Methods implemented by subclasses of Number
boolean equals(Object obj)
 Determines whether this number object is equal to the
argument.
 The methods return true if the argument is not null and is an
object of the same type and with the same numeric value.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Numeric Type Wrapper Classes
 All of the numeric type wrappers inherit the abstract class Number.
 Number declares methods that return the value of an object in each of the
different number formats. These methods are shown here:
byte byteValue( )
double doubleValue( )
float floatValue( )
int intValue( )
long longValue( )
short shortValue( )
 For example, doubleValue( ) returns the value of an object as a double,
floatValue( ) returns the value as a float, and so on.
 These methods are implemented by each of the numeric type wrappers.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Integer Class
Constructors:
 Integer(i) : constructs an Integer object equivalent to the
integer i
 Integer(s) : constructs an Integer object equivalent to the
string s
Class Methods:
 parseInt(s) : returns a signed decimal integer value equivalent
to string s
 toString(i) : returns a new String object representing the
integer i
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Instance Methods of Integer Class
 byteValue() : returns the value of this Integer as a byte
 doubleValue() : returns the value of this Integer as an double
 floatValue() : returns the value of this Integer as a float
 intValue() : returns the value of this Integer as an int
 longValue() : returns the value of this Integer as a long
 shortValue() : returns the value of this Integer as a short
 toString() : returns a String object representing the value
of this Integer
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Character Class
 Character is a wrapper around a char.
 The constructor for Character is :
Character(char ch)
Here, ch specifies the character that will be wrapped by the
Character object being created.
 To obtain the char value contained in a Character object, call
charValue( ), shown here:
char charValue( );
 It returns the encapsulated character.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
Boolean Class
 Boolean is a wrapper around boolean values.
 It defines these constructors:
Boolean(boolean boolValue)
Boolean(String boolString)
 In the first version, boolValue must be either true or false.
 In the second version, if boolString contains the string “true”
(in uppercase or lowercase), then the new Boolean object will
be true. Otherwise, it will be false.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
 To obtain a boolean value from a Boolean object, use
booleanValue( ), shown here:
boolean booleanValue( )
 It returns the boolean equivalent of the invoking
object.
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab
Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)

Mais conteúdo relacionado

Mais procurados

Class and Objects in Java
Class and Objects in JavaClass and Objects in Java
Class and Objects in JavaSpotle.ai
 
Static Data Members and Member Functions
Static Data Members and Member FunctionsStatic Data Members and Member Functions
Static Data Members and Member FunctionsMOHIT AGARWAL
 
Java basics and java variables
Java basics and java variablesJava basics and java variables
Java basics and java variablesPushpendra Tyagi
 
L21 io streams
L21 io streamsL21 io streams
L21 io streamsteach4uin
 
Abstract Class & Abstract Method in Core Java
Abstract Class & Abstract Method in Core JavaAbstract Class & Abstract Method in Core Java
Abstract Class & Abstract Method in Core JavaMOHIT AGARWAL
 
Data types in python
Data types in pythonData types in python
Data types in pythonRaginiJain21
 
String and string buffer
String and string bufferString and string buffer
String and string bufferkamal kotecha
 
Java Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and StreamsJava Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and StreamsAnton Keks
 
Local variables Instance variables Class/static variables
Local variables Instance variables Class/static variablesLocal variables Instance variables Class/static variables
Local variables Instance variables Class/static variablesSohanur63
 
Modules and packages in python
Modules and packages in pythonModules and packages in python
Modules and packages in pythonTMARAGATHAM
 

Mais procurados (20)

Class and Objects in Java
Class and Objects in JavaClass and Objects in Java
Class and Objects in Java
 
Static Data Members and Member Functions
Static Data Members and Member FunctionsStatic Data Members and Member Functions
Static Data Members and Member Functions
 
Java basics and java variables
Java basics and java variablesJava basics and java variables
Java basics and java variables
 
Constructor in java
Constructor in javaConstructor in java
Constructor in java
 
Constructor in java
Constructor in javaConstructor in java
Constructor in java
 
Strings in Java
Strings in JavaStrings in Java
Strings in Java
 
L21 io streams
L21 io streamsL21 io streams
L21 io streams
 
Abstract Class & Abstract Method in Core Java
Abstract Class & Abstract Method in Core JavaAbstract Class & Abstract Method in Core Java
Abstract Class & Abstract Method in Core Java
 
Data types in python
Data types in pythonData types in python
Data types in python
 
String and string buffer
String and string bufferString and string buffer
String and string buffer
 
Interface in java
Interface in javaInterface in java
Interface in java
 
Java String
Java String Java String
Java String
 
Data types in java
Data types in javaData types in java
Data types in java
 
Java Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and StreamsJava Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and Streams
 
Scanner class
Scanner classScanner class
Scanner class
 
File handling
File handlingFile handling
File handling
 
Local variables Instance variables Class/static variables
Local variables Instance variables Class/static variablesLocal variables Instance variables Class/static variables
Local variables Instance variables Class/static variables
 
CLASS & OBJECT IN JAVA
CLASS & OBJECT  IN JAVACLASS & OBJECT  IN JAVA
CLASS & OBJECT IN JAVA
 
Modules and packages in python
Modules and packages in pythonModules and packages in python
Modules and packages in python
 
Python - object oriented
Python - object orientedPython - object oriented
Python - object oriented
 

Destaque

Destaque (20)

Wrapper class (130240116056)
Wrapper class (130240116056)Wrapper class (130240116056)
Wrapper class (130240116056)
 
wrapper classes
wrapper classeswrapper classes
wrapper classes
 
Dependencies, dependencies, dependencies
Dependencies, dependencies, dependenciesDependencies, dependencies, dependencies
Dependencies, dependencies, dependencies
 
Banking structure of india and united kingdom(1)
Banking structure of india and united kingdom(1)Banking structure of india and united kingdom(1)
Banking structure of india and united kingdom(1)
 
Vectors in Java
Vectors in JavaVectors in Java
Vectors in Java
 
Array
ArrayArray
Array
 
Methods and constructors
Methods and constructorsMethods and constructors
Methods and constructors
 
Keywords and classes
Keywords and classesKeywords and classes
Keywords and classes
 
JavaYDL15
JavaYDL15JavaYDL15
JavaYDL15
 
Itt1 sd uml and oo
Itt1 sd uml and ooItt1 sd uml and oo
Itt1 sd uml and oo
 
OO & UML
OO & UMLOO & UML
OO & UML
 
Basic IO
Basic IOBasic IO
Basic IO
 
L2 datatypes and variables
L2 datatypes and variablesL2 datatypes and variables
L2 datatypes and variables
 
Exception handling
Exception handlingException handling
Exception handling
 
Strings
StringsStrings
Strings
 
String handling(string buffer class)
String handling(string buffer class)String handling(string buffer class)
String handling(string buffer class)
 
Event handling
Event handlingEvent handling
Event handling
 
Packages
PackagesPackages
Packages
 
Multi threading
Multi threadingMulti threading
Multi threading
 
OO Development 3 - Models And UML
OO Development 3 - Models And UMLOO Development 3 - Models And UML
OO Development 3 - Models And UML
 

Semelhante a Wrapper classes

String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)Ravi Kant Sahu
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)Ravi_Kant_Sahu
 
Eo gaddis java_chapter_06_Classes and Objects
Eo gaddis java_chapter_06_Classes and ObjectsEo gaddis java_chapter_06_Classes and Objects
Eo gaddis java_chapter_06_Classes and ObjectsGina Bullock
 
Eo gaddis java_chapter_06_5e
Eo gaddis java_chapter_06_5eEo gaddis java_chapter_06_5e
Eo gaddis java_chapter_06_5eGina Bullock
 
Eo gaddis java_chapter_06_5e
Eo gaddis java_chapter_06_5eEo gaddis java_chapter_06_5e
Eo gaddis java_chapter_06_5eGina Bullock
 
String handling(string buffer class)
String handling(string buffer class)String handling(string buffer class)
String handling(string buffer class)Ravi Kant Sahu
 
What is a constructorAns)A constructor is also type of method whi.pdf
What is a constructorAns)A constructor is also type of method whi.pdfWhat is a constructorAns)A constructor is also type of method whi.pdf
What is a constructorAns)A constructor is also type of method whi.pdfanandanand521251
 
Lecture20 vector
Lecture20 vectorLecture20 vector
Lecture20 vectornurkhaledah
 
Eo gaddis java_chapter_08_5e
Eo gaddis java_chapter_08_5eEo gaddis java_chapter_08_5e
Eo gaddis java_chapter_08_5eGina Bullock
 
Eo gaddis java_chapter_08_5e
Eo gaddis java_chapter_08_5eEo gaddis java_chapter_08_5e
Eo gaddis java_chapter_08_5eGina Bullock
 

Semelhante a Wrapper classes (20)

Wrapper classes
Wrapper classesWrapper classes
Wrapper classes
 
Java keywords
Java keywordsJava keywords
Java keywords
 
Generics
GenericsGenerics
Generics
 
Collection framework
Collection frameworkCollection framework
Collection framework
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)
 
Classes objects in java
Classes objects in javaClasses objects in java
Classes objects in java
 
Eo gaddis java_chapter_06_Classes and Objects
Eo gaddis java_chapter_06_Classes and ObjectsEo gaddis java_chapter_06_Classes and Objects
Eo gaddis java_chapter_06_Classes and Objects
 
Eo gaddis java_chapter_06_5e
Eo gaddis java_chapter_06_5eEo gaddis java_chapter_06_5e
Eo gaddis java_chapter_06_5e
 
Eo gaddis java_chapter_06_5e
Eo gaddis java_chapter_06_5eEo gaddis java_chapter_06_5e
Eo gaddis java_chapter_06_5e
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Inheritance
InheritanceInheritance
Inheritance
 
Java tutorial part 3
Java tutorial part 3Java tutorial part 3
Java tutorial part 3
 
DAY_1.3.pptx
DAY_1.3.pptxDAY_1.3.pptx
DAY_1.3.pptx
 
String handling(string buffer class)
String handling(string buffer class)String handling(string buffer class)
String handling(string buffer class)
 
What is a constructorAns)A constructor is also type of method whi.pdf
What is a constructorAns)A constructor is also type of method whi.pdfWhat is a constructorAns)A constructor is also type of method whi.pdf
What is a constructorAns)A constructor is also type of method whi.pdf
 
List classes
List classesList classes
List classes
 
Lecture20 vector
Lecture20 vectorLecture20 vector
Lecture20 vector
 
Eo gaddis java_chapter_08_5e
Eo gaddis java_chapter_08_5eEo gaddis java_chapter_08_5e
Eo gaddis java_chapter_08_5e
 
Eo gaddis java_chapter_08_5e
Eo gaddis java_chapter_08_5eEo gaddis java_chapter_08_5e
Eo gaddis java_chapter_08_5e
 

Mais de Ravi_Kant_Sahu

Common Programming Errors by Beginners in Java
Common Programming Errors by Beginners in JavaCommon Programming Errors by Beginners in Java
Common Programming Errors by Beginners in JavaRavi_Kant_Sahu
 
Classes and Nested Classes in Java
Classes and Nested Classes in JavaClasses and Nested Classes in Java
Classes and Nested Classes in JavaRavi_Kant_Sahu
 
Control structures in Java
Control structures in JavaControl structures in Java
Control structures in JavaRavi_Kant_Sahu
 
Genesis and Overview of Java
Genesis and Overview of Java Genesis and Overview of Java
Genesis and Overview of Java Ravi_Kant_Sahu
 

Mais de Ravi_Kant_Sahu (9)

Common Programming Errors by Beginners in Java
Common Programming Errors by Beginners in JavaCommon Programming Errors by Beginners in Java
Common Programming Errors by Beginners in Java
 
Gui programming (awt)
Gui programming (awt)Gui programming (awt)
Gui programming (awt)
 
Event handling
Event handlingEvent handling
Event handling
 
Jdbc
JdbcJdbc
Jdbc
 
Classes and Nested Classes in Java
Classes and Nested Classes in JavaClasses and Nested Classes in Java
Classes and Nested Classes in Java
 
Operators in java
Operators in javaOperators in java
Operators in java
 
Control structures in Java
Control structures in JavaControl structures in Java
Control structures in Java
 
Swing api
Swing apiSwing api
Swing api
 
Genesis and Overview of Java
Genesis and Overview of Java Genesis and Overview of Java
Genesis and Overview of Java
 

Último

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Último (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Wrapper classes

  • 1. Programming in Java Lecture 9: Wrapper Classes By Ravi Kant Sahu Asst. Professor Lovely Professional University, PunjabLovely Professional University, Punjab
  • 2. Introduction  Most of the objects collection store objects and not primitive types.  Primitive types can be used as object when required.  As they are objects, they can be stored in any of the collection and pass this collection as parameters to the methods. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 3. Wrapper Class  Wrapper classes are classes that allow primitive types to be accessed as objects.  Wrapper class is wrapper around a primitive data type because they "wrap" the primitive data type into an object of that class. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 4. What is Wrapper Class?  Each of Java's eight primitive data types has a class dedicated to it.  They are one per primitive type: Boolean, Byte, Character, Double, Float, Integer, Long and Short.  Wrapper classes make the primitive type data to act as objects. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 5. Primitive Data Types and Wrapper Classes Data Type Wrapper Class byte Byte short Short int Integer long Long char Character float Float double Double boolean Boolean Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 6. Difference b/w Primitive Data Type and Object of a Wrapper Class  The following two statements illustrate the difference between a primitive data type and an object of a wrapper class: int x = 25; Integer y = new Integer(33); Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 7. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)  The first statement declares an int variable named x and initializes it with the value 25.
  • 8.  The second statement instantiates an Integer object. The object is initialized with the value 33 and a reference to the object is assigned to the object variable y. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 9.  Clearly x and y differ by more than their values: x is a variable that holds a value; y is an object variable that holds a reference to an object.  So, the following statement using x and y as declared above is not allowed: int z = x + y; // wrong! Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 10.  The data field in an Integer object is only accessible using the methods of the Integer class.  One such method is intValue() method which returns an int equal to the value of the object, effectively "unwrapping" the Integer object: int z = x + y.intValue(); // OK! Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 11. What is the need of Wrapper Classes?  Wrapper classes are used to be able to use the primitive data- types as objects.  Many utility methods are provided by wrapper classes. To get these advantages we need to use wrapper classes. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 12. What is the need of Wrapper Classes?  There are three reasons that we might use a Number object rather than a primitive:  As an argument of a method that expects an object (often used when manipulating collections of numbers).  To use constants defined by the class, such as MIN_VALUE and MAX_VALUE, that provide the upper and lower bounds of the data type.  To use class methods 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). Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 13. Boxing and Unboxing  The wrapping is done by the compiler.  if we use a primitive where an object is expected, the compiler boxes the primitive in its wrapper class.  Similarly, if we use a number object when a primitive is expected, the compiler un-boxes the object. Example of boxing and unboxing:  Integer x, y; x = 12; y = 15; System.out.println(x+y);  When x and y are assigned integer values, the compiler boxes the integers because x and y are integer objects.  In the println() statement, x and y are unboxed so that they can be added as integers. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 14. Numeric Wrapper Classes  All of the numeric wrapper classes are subclasses of the abstract class Number .  Short, Integer, Double and Long implement Comparable interface. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 15. Features of Numeric Wrapper Classes  Provides a way to store primitive data in an object.  All numeric wrapper classes implement typeValue() method.  This method returns the value of the object as its primitive type.  byteValue(), intValue(), floatValue(), doubleValue() etc.  Example: int a = 10; System.out.println(a.floatValue()); Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 16. Features of Numeric Wrapper Classes  All the numeric wrapper classes provide a method to convert a numeric string into a primitive value. public static type parseType (String Number)  parseInt()  parseFloat()  parseDouble()  parseLong() … Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 17. Features of Numeric Wrapper Classes  All the wrapper classes provide a static method toString to provide the string representation of the primitive values. public static String toString (type value) Example: public static String toString (int a) Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 18. Features of Numeric Wrapper Classes  All numeric wrapper classes have a static method valueOf, which is used to create a new object initialized to the value represented by the specified string. public static DataType valueOf (String s) Example: Integer i = Integer.valueOf (“135”); Double d = Double.valueOf (“13.5”); Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 19. Methods implemented by subclasses of Number  Converts the value of the Number object to the primitive data type returned. byte byteValue() short shortValue() int intValue() long longValue() float floatValue() double doubleValue() Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 20. Methods implemented by subclasses of Number  Compares this Number object to the argument. int compareTo(Byte anotherByte) int compareTo(Double anotherDouble) int compareTo(Float anotherFloat) int compareTo(Integer anotherInteger) int compareTo(Long anotherLong) int compareTo(Short anotherShort)  returns int after comparison (-1, 0, 1). Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 21. Methods implemented by subclasses of Number boolean equals(Object obj)  Determines whether this number object is equal to the argument.  The methods return true if the argument is not null and is an object of the same type and with the same numeric value. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 22. Numeric Type Wrapper Classes  All of the numeric type wrappers inherit the abstract class Number.  Number declares methods that return the value of an object in each of the different number formats. These methods are shown here: byte byteValue( ) double doubleValue( ) float floatValue( ) int intValue( ) long longValue( ) short shortValue( )  For example, doubleValue( ) returns the value of an object as a double, floatValue( ) returns the value as a float, and so on.  These methods are implemented by each of the numeric type wrappers. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 23. Integer Class Constructors:  Integer(i) : constructs an Integer object equivalent to the integer i  Integer(s) : constructs an Integer object equivalent to the string s Class Methods:  parseInt(s) : returns a signed decimal integer value equivalent to string s  toString(i) : returns a new String object representing the integer i Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 24. Instance Methods of Integer Class  byteValue() : returns the value of this Integer as a byte  doubleValue() : returns the value of this Integer as an double  floatValue() : returns the value of this Integer as a float  intValue() : returns the value of this Integer as an int  longValue() : returns the value of this Integer as a long  shortValue() : returns the value of this Integer as a short  toString() : returns a String object representing the value of this Integer Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 25. Character Class  Character is a wrapper around a char.  The constructor for Character is : Character(char ch) Here, ch specifies the character that will be wrapped by the Character object being created.  To obtain the char value contained in a Character object, call charValue( ), shown here: char charValue( );  It returns the encapsulated character. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 26. Boolean Class  Boolean is a wrapper around boolean values.  It defines these constructors: Boolean(boolean boolValue) Boolean(String boolString)  In the first version, boolValue must be either true or false.  In the second version, if boolString contains the string “true” (in uppercase or lowercase), then the new Boolean object will be true. Otherwise, it will be false. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)
  • 27.  To obtain a boolean value from a Boolean object, use booleanValue( ), shown here: boolean booleanValue( )  It returns the boolean equivalent of the invoking object. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab
  • 28. Ravi Kant Sahu, Asst. Professor @ Lovely Professional University, Punjab (India)