Java Wrapper Classes
Introduction to Wrapper Classes in Java
Wrapper classes in Java are objects that encapsulate primitive data types. Each primitive data type has a corresponding wrapper class:
- `boolean` - `Boolean`
- `byte` - `Byte`
- `short` - `Short`
- `char` - `Character`
- `int` - `Integer`
- `long` - `Long`
- `float` - `Float`
- `double` - `Double`
Wrapper classes provide a number of advantages over primitive data types, including:
- They can be used in generic collections and other APIs that only accept objects.
- They provide methods for converting between primitive and object types.
- They provide methods for comparing and manipulating primitive values.
- They can be used to synchronize access to primitive values in multithreaded applications.
To create a wrapper object, you use the `new` keyword followed by the name of the wrapper class and the primitive value to be wrapped. For example, to create a `Integer` object wrapping the value `10`, you would use the following code:
Integer i = new Integer(10);
You can also use autoboxing to convert primitive values to wrapper objects automatically. Autoboxing is a feature of Java 5.0 and later that allows you to write code like this:
Integer i = 10;
The Java compiler will automatically convert the primitive value `10` to a `Integer` object before assigning it to the variable `i`.
Wrapper classes are an important part of the Java programming language. They provide a number of advantages over primitive data types, and they are used in a wide variety of Java APIs.
Here are some examples of how to use wrapper classes in Java:
// Create a wrapper object for the primitive value `10`.
Integer i = 10;
// Use the `intValue()` method to get the primitive value back from the wrapper object.
int j = i.intValue();
// Compare two wrapper objects.
if (i.equals(j)) {
System.out.println("The two wrapper objects are equal.");
}
// Add two wrapper objects together.
Integer sum = i.intValue() + j.intValue();
// Use a wrapper object in a generic collection.
List list = new ArrayList<>();
list.add(i);
list.add(j);
Wrapper classes are a powerful tool that can help you write more robust and efficient Java code.
Exercises
Code for converting an Integer to a String in Java using Wrapper classes.
public class javalabclass
{
public static void main(String args[])
{
Integer k = 23;
String s = k.toString();
System.out.println(s.length());
}
}
Code for converting a String to an Integer using Wrapper Class in Java
import java.util.Scanner;
public class javalabclass
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.println("Enter the number");
String num = input.next();
int a = Integer.parseInt(num);
System.out.println(a+1);
}
}
Code for finding max of two numbers using an Integer Wrapper Class in Java
public class javalabclass
{
public static void main(String args[])
{
Integer k;
System.out.println(Integer.max(2, 3));
}
}
Finding the sum of two Intgers using Wrapper Class method in Java
public class javalabclass
{
public static void main(String args[])
{
System.out.println(Integer.sum(23, 45));
}
}
Code for comparing two Integer objects using Wrapper Class
public class javalabclass
{
public static void main(String args[])
{
Integer a = new Integer(52);
Integer b = new Integer(52);
System.out.println(a.equals(b));
}
}
Output - true
Code for comparing two Integer Objects using compareTo Method.
//comparing two equal Integers.
public class javalabclass
{
public static void main(String args[])
{
Integer a = new Integer(52);
Integer b = new Integer(52);
System.out.println(a.compareTo(b));
}
}
Output is 0
//Integer a is greater than Integer b
public class javalabclass
{
public static void main(String args[])
{
Integer a = new Integer(51);
Integer b = new Integer(52);
System.out.println(a.compareTo(b));
}
}
Output <0
//Integer a is lesser than Integer b
public class javalabclass
{
public static void main(String args[])
{
Integer a = new Integer(52);
Integer b = new Integer(51);
System.out.println(a.compareTo(b));
}
}
Output >0
Code for Comparing two characters using the Character Wrapper Class Methods in Java.
//when char1 > char2
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println(Character.compare('a', 'S'));
}
}
output
14
//when char1 < char2
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println(Character.compare('S', 'a'));
}
}
output
-14
//When char1 = char2
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println(Character.compare('S', 'S'));
}
}
output
0
Code for Checking if a character is a digit using the Character Wrapper Class Methods
//When a entered character is a digit
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println(Character.isDigit('9'));
}
}
output
true
//When a entered character is not a digit
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println(Character.isDigit('a'));
}
}
output
false
Checking if a character is a letter using the Character Wrapper Class Methods
//When the entered character is a letter
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println(Character.isLetter('a'));
}
}
output
true
//When the entered character is not a letter
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println(Character.isLetter('9'));
}
}
output
false
Checking if a character is a whitespace using the Character Wrapper Class Methods
//Entered Character is a whitespace
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println(Character.isWhitespace(' '));
}
}
output
true
Entered Character is not a whitespace
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println(Character.isWhitespace('s'));
}
}
output
false
Check if a character is an upper case/ lower case character using the Character Wrapper Class Methods
Character is an uppercase character
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println( Character.isUpperCase('A'));
}
}
output
true
Character is a lower case character
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println( Character.isLowerCase('a'));
}
}
output
true
Read a String from the user. The user may enter the string with leading or trailing spaces. Remove the leading and trailing spaces and display only the string without using the trim method.If the entry is only spaces then display an error message to the user.
package satish12bce10;
import java.util.Scanner;
public class satish12bce10 {
public static void main(String[] args) {
System.out.println("Enter the String");
Scanner obj = new Scanner(System.in);
String input = obj.nextLine();
char k[]= input.toCharArray();
boolean spaceflag=true;
for(char m: k)
{
if(Character.isWhitespace(m))
{
continue;
}
System.out.print(m);
spaceflag = false;
}
if(spaceflag)
{
System.out.println("Enter a valid string. Only spaces entered");
}
}
}
//Output for only input spaces
Enter the String
Enter a valid string. Only spaces entered
//Output for a string with leading and trailing spaces
Enter the String
Satish
Satish