Friday, July 23, 2021

Wrapper classes

Chapter - 4 

Lesson name - Library classes 

Ques:-1 What's a wrapper classes ?

Ans:- A Wrapper class is a class whose object wraps or contains primitive data types. When we create an object to 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.'


Need of Wrapper Classes

  1. They convert primitive data types into objects. Objects are needed if we wish to modify the arguments passed into a method. 
  2. The classes in java.util package handles only objects and hence wrapper classes help in this case also.
  3. An object is needed to support synchronization in multithreading.

Primitive Data types and their Corresponding Wrapper class

Wrapper-Class-in-Java

Implementation

// Java program to demonstrate Wrapping and UnWrapping
// in Java Classes
class WrappingUnwrapping
{
    public static void main(String args[])
    {
        //  byte data type
        byte a = 1;
  
        // wrapping around Byte object
        Byte byteobj = new Byte(a);
  
        // int data type
        int b = 10;
  
        //wrapping around Integer object
        Integer intobj = new Integer(b);
  
        // float data type
        float c = 18.6f;
  
        // wrapping around Float object
        Float floatobj = new Float(c);
  
        // double data type
        double d = 250.5;
  
        // Wrapping around Double object
        Double doubleobj = new Double(d);
  
        // char data type
        char e='a';
  
        // wrapping around Character object
        Character charobj=e;
  
        //  printing the values from objects
        System.out.println("Values of Wrapper objects (printing as objects)");
        System.out.println("Byte object byteobj:  " + byteobj);
        System.out.println("Integer object intobj:  " + intobj);
        System.out.println("Float object floatobj:  " + floatobj);
        System.out.println("Double object doubleobj:  " + doubleobj);
        System.out.println("Character object charobj:  " + charobj);
  
        // objects to data types (retrieving data types from objects)
        // unwrapping objects to primitive data types
        byte bv = byteobj;
        int iv = intobj;
        float fv = floatobj;
        double dv = doubleobj;
        char cv = charobj;
  
        // printing the values from data types
        System.out.println("Unwrapped values (printing as data types)");
        System.out.println("byte value, bv: " + bv);
        System.out.println("int value, iv: " + iv);
        System.out.println("float value, fv: " + fv);
        System.out.println("double value, dv: " + dv);
        System.out.println("char value, cv: " + cv);
    }
}

Output:

Values of Wrapper objects (printing as objects)
Byte object byteobj:  1
Integer object intobj:  10
Float object floatobj:  18.6
Double object doubleobj:  250.5
Character object charobj: a
Unwrapped values (printing as data types)
byte value, bv: 1
int value, iv: 10
float value, fv: 18.6
double value, dv: 250.5
char value, cv: a

Methods of wrapper classes - 

Below table lists wrapper classes in Java API with constructor details.

PrimitiveWrapper ClassConstructor Argument
booleanBooleanboolean or String
byteBytebyte or String
charCharacterchar
intIntegerint or String
floatFloatfloat, double or String
doubleDoubledouble or String
longLonglong or String
shortShortshort or String

Below is wrapper class hierarchy as per Java API

wrapper class image 1

The most common methods of the Integer wrapper class are summarized in below table. Similar methods for the other wrapper classes are found in the Java API documentation.

MethodPurpose
parseInt(s)

returns a signed decimal integer value equivalent to string s

toString(i)returns a new String object representing the integer i
byteValue()returns the value of this Integer as a byte
doubleValue()returns the value of this Integer as a double
floatValue()returns the value of this Integer as a float
intValue()returns the value of this Integer as an int
shortValue()returns the value of this Integer as a short
longValue()returns the value of this Integer as a long
int compareTo(int i)Compares the numerical value of the invoking object with that of i. Returns 0 if the values are equal. Returns a negative value if the invoking object has a lower value. Returns a positive value if the invoking object has a greater value.
static int compare(int num1, int num2)Compares the values of num1 and num2. Returns 0 if the values are equal. Returns a negative value if num1 is less than num2. Returns a positive value if num1 is greater than num2.
boolean equals(Object intObj)Returns true if the invoking Integer object is equivalent to intObj. Otherwise, it returns false.


This is the same example as your first example


class 6

  What is computer virus? A computer virus is a type of malware that attaches to another program (like a document), which can replicate and ...