SlideShare a Scribd company logo
1
Autoboxing and Unboxing:
The automatic conversion of primitive data types into its equivalent Wrapper type is
known as boxing and opposite operation is known as unboxing. This is the new feature of
Java5. So java programmer doesn't need to write the conversion code.
Advantage of Autoboxing and Unboxing:
No need of conversion between primitives and Wrappers manually so less coding is
required.
Simple Example of Autoboxing in java:
1. class BoxingExample1{
2. public static void main(String args[]){
3. int a=50;
4. Integer a2=new Integer(a);//Boxing
5.
6. Integer a3=5;//Boxing
7.
8. System.out.println(a2+" "+a3);
9. }
10. }
11.
Test it Now
Output:50 5
download this example
Simple Example of Unboxing in java:
The automatic conversion of wrapper class type into corresponding primitive type, is
known as Unboxing. Let's see the example of unboxing:
1.
2. class UnboxingExample1{
3. public static void main(String args[]){
4. Integer i=new Integer(50);
5. int a=i;
2
6.
7. System.out.println(a);
8. }
9. }
10.
Wrapper class in Java
Wrapper class in java provides the mechanism to convert primitive into object and object
into primitive.
Since J2SE 5.0, autoboxing and unboxing feature converts primitive into object and object
into primitive automatically. The automatic conversion of primitive into object is known
and autoboxing and vice-versa unboxing.
One of the eight classes of java.lang package are known as wrapper class in java. The list of
eight wrapper classes are given below:
Primitive Type Wrapper clas
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
Wrapper class Example: Primitive to Wrapper
1. public class WrapperExample1{
2. public static void main(String args[]){
3. //Converting int into Integer
4. int a=20;
3
5. Integer i=Integer.valueOf(a);//converting int into Integer
6. Integer j=a;//autoboxing, now compiler will write Integer.valueOf(a) internally
7.
8. System.out.println(a+" "+i+" "+j);
9. }}
Output:
20 20 20
Wrapper class Example: Wrapper to Primitive
1. public class WrapperExample2{
2. public static void main(String args[]){
3. //Converting Integer to int
4. Integer a=new Integer(3);
5. int i=a.intValue();//converting Integer to int
6. int j=a;//unboxing, now compiler will write a.intValue() internally
7.
8. System.out.println(a+" "+i+" "+j);
9. }}
Output:
3 3 3
4
Difference between object and class
There are many differences between object and class. A list of differences between
object and class are given below:
No. Object
1) Object is an instance of a class.
2) Object is a real world entity such as pen, laptop, mobile, bed, keyboard, mouse, chair e
3) Object is a physical entity.
4) Object is created through new keyword ma
Student s1=new Student();
5) Object is created many times as per requirement.
6) Object allocates memory when it is created.
7) There are many ways to create object in java such as new keyword, newInstance
method, factory method and deserialization.
Next TopicMethod Overloading vs Method Overriding
← prevnext →
5
Difference between method overloading and method overriding in java
There are many differences between method overloading and method overriding in java. A
list of differences between method overloading and method overriding are given below:
No. Method Overloading
1) Method overloading is used to increase the readability of the program.
2) Method overloading is performed within class.
3) In case of method overloading, parameter must be different.
4) Method overloading is the example of compile time polymorphism.
5) In java, method overloading can't be performed by changing return type of the metho
only. Return type can be same or different in method overloading. But you must have to chang
the parameter.
Java Method Overloading example
1. class OverloadingExample{
2. static int add(int a,int b){return a+b;}
3. static int add(int a,int b,int c){return a+b+c;}
4. }
Java Method Overriding example
1. class Animal{
2. void eat(){System.out.println("eating...");}
3. }
4. class Dog extends Animal{
5. void eat(){System.out.println("eating bread...");}
6. }
Next 1) String compare by equals() method
The String equals() method compares the original content of the string. It compares values
of string for equality. String class provides two methods:
6
o public boolean equals(Object another) compares this string to the specified
object.
o public boolean equalsIgnoreCase(String another) compares this String to
another string, ignoring case.
1. class Teststringcomparison1{
2. public static void main(String args[]){
3. String s1="Sachin";
4. String s2="Sachin";
5. String s3=new String("Sachin");
6. String s4="Saurav";
7. System.out.println(s1.equals(s2));//true
8. System.out.println(s1.equals(s3));//true
9. System.out.println(s1.equals(s4));//false
10. }
11. }
Test it Now
Output:true
true
false
1. class Teststringcomparison2{
2. public static void main(String args[]){
3. String s1="Sachin";
4. String s2="SACHIN";
5.
6. System.out.println(s1.equals(s2));//false
7. System.out.println(s1.equalsIgnoreCase(s3));//true
8. }
9. } Test it Now
Output:false
true
2) String compare by == operator
The = = operator compares references not values.
1. class Teststringcomparison3{
2. public static void main(String args[]){
3. String s1="Sachin";
7
4. String s2="Sachin";
5. String s3=new String("Sachin");
6. System.out.println(s1==s2);//true (because both refer to same instance)
7. System.out.println(s1==s3);//false(because s3 refers to instance created in nonpool)
8. }
9. }
Test it ow
Output:true
false
3) String compare by compareTo() method
The String compareTo() method compares values lexicographically and returns an integer
value that describes if first string is less than, equal to or greater than second string.
Suppose s1 and s2 are two string variables. If:
o s1 == s2 :0
o s1 > s2 :positive value
o s1 < s2 :negative value
1. class Teststringcomparison4{
2. public static void main(String args[]){
3. String s1="Sachin";
4. String s2="Sachin";
5. String s3="Ratan";
6. System.out.println(s1.compareTo(s2));//0
7. System.out.println(s1.compareTo(s3));//1(because s1>s3)
8. System.out.println(s3.compareTo(s1));//-1(because s3 < s1 )
9. }
10. }
2) String Concatenation by concat() method
The String concat() method concatenates the specified string to the end of current string.
Syntax:
1. public String concat(String another)
Let's see the example of String concat() method.
8
1. class TestStringConcatenation3{
2. public static void main(String args[]){
3. String s1="Sachin ";
4. String s2="Tendulkar";
5. String s3=s1.concat(s2);
6. System.out.println(s3);//Sachin Tendulkar
7. }
8. }
Test it NowSachin Tendulkar
Substring in Java
A part of string is called substring. In other words, substring is a subset of another string.
In case of substring startIndex is inclusive and endIndex is exclusive.
You can get substring from the given string object by one of the two methods:
1. public String substring(int startIndex): This method returns new String object
containing the substring of the given string from specified startIndex (inclusive).
2. public String substring(int startIndex, int endIndex): This method returns new
String object containing the substring of the given string from specified startIndex to
endIndex.
In case of string:
o startIndex: inclusive
o endIndex: exclusive
Let's understand the startIndex and endIndex by the code given below.
1. String s="hello";
2. System.out.println(s.substring(0,2));//he
In the above substring, 0 points to h but 2 points to e (because end index is exclusive).
Example of java substring
1. public class TestSubstring{
2. public static void main(String args[]){
3. String s="Sachin Tendulkar";
4. System.out.println(s.substring(6));//Tendulkar
9
5. System.out.println(s.substring(0,6));//Sachin
6. }
7. }
Java String class methods
The java.lang.String class provides a lot of methods to work on string. By the help of these
methods, we can perform operations on string such as trimming, concatenating, converting,
comparing, replacing strings etc.
Java String is a powerful concept because everything is treated as a string if you submit any
form in window based, web based or mobile application.
Let's see the important methods of String class.
Java String toUpperCase() and toLowerCase() method
The java string toUpperCase() method converts this string into uppercase letter and string
toLowerCase() method into lowercase letter.
1. String s="Sachin";
2. System.out.println(s.toUpperCase());//SACHIN
3. System.out.println(s.toLowerCase());//sachin
4. System.out.println(s);//Sachin(no change in original)
Test it Now
SACHIN
sachin
Sachin
Java String trim() method
The string trim() method eliminates white spaces before and after string.
1. String s=" Sachin ";
2. System.out.println(s);// Sachin
3. System.out.println(s.trim());//Sachin
Test it Now
Sachin
Sachin
10
Java String startsWith() and endsWith() method
1. String s="Sachin";
2. System.out.println(s.startsWith("Sa"));//true
3. System.out.println(s.endsWith("n"));//true
Test it Now
true
true
Java String charAt() method
The string charAt() method returns a character at specified index.
1. String s="Sachin";
2. System.out.println(s.charAt(0));//S
3. System.out.println(s.charAt(3));//h
Test it Now
S
h
Java String length() method
The string length() method returns length of the string.
1. String s="Sachin";
2. System.out.println(s.length());//6
Test it Now
6
Java String intern() method
A pool of strings, initially empty, is maintained privately by the class String.
When the intern method is invoked, if the pool already contains a string equal to this String
object as determined by the equals(Object) method, then the string from the pool is
returned. Otherwise, this String object is added to the pool and a reference to this String
object is returned.
1. String s=new String("Sachin");
11
2. String s2=s.intern();
3. System.out.println(s2);//Sachin
4. Test it Now
Sachin
Java String valueOf() method
The string valueOf() method coverts given type such as int, long, float, double, boolean,
char and char array into string.
1. int a=10;
2. String s=String.valueOf(a);
3. System.out.println(s+10);
Output:
1010
Java String replace() method
The string replace() method replaces all occurrence of first sequence of character with
second sequence of character.
1. String s1="Java is a programming language. Java is a platform. Java is an Island.";
2. String replaceString=s1.replace("Java","Kava");//replaces all occurrences of "Java" to "Kava
"
3. System.out.println(replaceString);
Output:
Kava is a programming language. Kava is a platform. Kava is an Island.
next →← prev
Java StringBuffer class
Java StringBuffer class is used to created mutable (modifiable) string. The StringBuffer
class in java is same as String class except it is mutable i.e. it can be changed.
12
Note: Java StringBuffer class is thread-safe i.e. multiple threads cannot access it
simultaneously. So it is safe and will result in an order.
Important Constructors of StringBuffer class
1. StringBuffer(): creates an empty string buffer with the initial capacity of 16.
2. StringBuffer(String str): creates a string buffer with the specified string.
3. StringBuffer(int capacity): creates an empty string buffer with the specified
capacity as length.
Important methods of StringBuffer class
1. public synchronized StringBuffer append(String s): is used to append the
specified string with this string. The append() method is overloaded like
append(char), append(boolean), append(int), append(float), append(double)
etc.
2. public synchronized StringBuffer insert(int offset, String s): is used to
insert the specified string with this string at the specified position. The insert()
method is overloaded like insert(int, char), insert(int, boolean), insert(int, int),
insert(int, float), insert(int, double) etc.
3. public synchronized StringBuffer replace(int startIndex, int endIndex,
String str): is used to replace the string from specified startIndex and endIndex.
4. public synchronized StringBuffer delete(int startIndex, int endIndex): is
used to delete the string from specified startIndex and endIndex.
5. public synchronized StringBuffer reverse(): is used to reverse the string.
6. public int capacity(): is used to return the current capacity.
7. public void ensureCapacity(int minimumCapacity): is used to ensure the
capacity at least equal to the given minimum.
8. public char charAt(int index): is used to return the character at the specified
position.
9. public int length(): is used to return the length of the string i.e. total number of
characters.
10. public String substring(int beginIndex): is used to return the substring from
the specified beginIndex.
11. public String substring(int beginIndex, int endIndex): is used to return the
substring from the specified beginIndex and endIndex.
13
What is mutable string
A string that can be modified or changed is known as mutable string. StringBuffer and
StringBuilder classes are used for creating mutable string.
1) StringBuffer append() method
The append() method concatenates the given argument with this string.
1. class A{
2. public static void main(String args[]){
3. StringBuffer sb=new StringBuffer("Hello ");
4. sb.append("Java");//now original string is changed
5. System.out.println(sb);//prints Hello Java
6. }
7. }
2) StringBuffer insert() method
The insert() method inserts the given string with this string at the given position.
1. class A{
2. public static void main(String args[]){
3. StringBuffer sb=new StringBuffer("Hello ");
4. sb.insert(1,"Java");//now original string is changed
5. System.out.println(sb);//prints HJavaello
6. }
7. }
3) StringBuffer replace() method
The replace() method replaces the given string from the specified beginIndex and
endIndex.
1. class A{
2. public static void main(String args[]){
3. StringBuffer sb=new StringBuffer("Hello");
4. sb.replace(1,3,"Java");
5. System.out.println(sb);//prints HJavalo
6. }
7. }
14
4) StringBuffer delete() method
The delete() method of StringBuffer class deletes the string from the specified
beginIndex to endIndex.
1. class A{
2. public static void main(String args[]){
3. StringBuffer sb=new StringBuffer("Hello");
4. sb.delete(1,3);
5. System.out.println(sb);//prints Hlo
6. }
7. }
5) StringBuffer reverse() method
The reverse() method of StringBuilder class reverses the current string.
1. class A{
2. public static void main(String args[]){
3. StringBuffer sb=new StringBuffer("Hello");
4. sb.reverse();
5. System.out.println(sb);//prints olleH
6. }
7. }
6) StringBuffer capacity() method
The capacity() method of StringBuffer class returns the current capacity of the buffer.
The default capacity of the buffer is 16. If the number of character increases from its
current capacity, it increases the capacity by (oldcapacity*2)+2. For example if your
current capacity is 16, it will be (16*2)+2=34.
1. class A{
2. public static void main(String args[]){
3. StringBuffer sb=new StringBuffer();
4. System.out.println(sb.capacity());//default 16
5. sb.append("Hello");
6. System.out.println(sb.capacity());//now 16
7. sb.append("java is my favourite language");
8. System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2
9. }
15
10. }
7) StringBuffer ensureCapacity() method
The ensureCapacity() method of StringBuffer class ensures that the given capacity is
the minimum to the current capacity. If it is greater than the current capacity, it
increases the capacity by (oldcapacity*2)+2. For example if your current capacity is 16,
it will be (16*2)+2=34.
1. class A{
2. public static void main(String args[]){
3. StringBuffer sb=new StringBuffer();
4. System.out.println(sb.capacity());//default 16
5. sb.append("Hello");
6. System.out.println(sb.capacity());//now 16
7. sb.append("java is my favourite language");
8. System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2
9. sb.ensureCapacity(10);//now no change
10. System.out.println(sb.capacity());//now 34
11. sb.ensureCapacity(50);//now (34*2)+2
12. System.out.println(sb.capacity());//now 70
13. }
14. }
Difference between String and StringBuffer
There are many differences between String and StringBuffer. A list of differences between
String and StringBuffer are given below:
No. String
1) String class is immutable.
2) String is slow and consumes more memory when you concat too many strings because every
creates new instance.
3) String class overrides the equals() method of Object class. So you can compare the contents
strings by equals() method.
Performance Test of String and StringBuffer
16
1. public class ConcatTest{
2. public static String concatWithString() {
3. String t = "Java";
4. for (int i=0; i<10000; i++){
5. t = t + "Tpoint";
6. }
7. return t;
8. }
9. public static String concatWithStringBuffer(){
10. StringBuffer sb = new StringBuffer("Java");
11. for (int i=0; i<10000; i++){
12. sb.append("Tpoint");
13. }
14. return sb.toString();
15. }
16. public static void main(String[] args){
17. long startTime = System.currentTimeMillis();
18. concatWithString();
19. System.out.println("Time taken by Concating with String: "+(System.currentTimeMillis
()-startTime)+"ms");
20. startTime = System.currentTimeMillis();
21. concatWithStringBuffer();
22. System.out.println("Time taken by Concating with StringBuffer: "+(System.currentTim
eMillis()-startTime)+"ms");
23. }
24. }
Time taken by Concating with String: 578ms
Time taken by Concating with StringBuffer: 0ms
String and StringBuffer HashCode Test
As you can see in the program given below, String returns new hashcode value when you
concat string but StringBuffer returns same.
1. public class InstanceTest{
2. public static void main(String args[]){
3. System.out.println("Hashcode test of String:");
4. String str="java";
5. System.out.println(str.hashCode());
17
6. str=str+"tpoint";
7. System.out.println(str.hashCode());
8.
9. System.out.println("Hashcode test of StringBuffer:");
10. StringBuffer sb=new StringBuffer("java");
11. System.out.println(sb.hashCode());
12. sb.append("tpoint");
13. System.out.println(sb.hashCode());
14. }
15. }
Hashcode test of String:
3254818
229541438
Hashcode test of StringBuffer:
118352462
118352462
Java toString() method
If you want to represent any object as a string, toString() method comes into existence.
The toString() method returns the string representation of the object.
If you print any object, java compiler internally invokes the toString() method on the
object. So overriding the toString() method, returns the desired output, it can be the state
of an object etc. depends on your implementation.
Advantage of Java toString() method
By overriding the toString() method of the Object class, we can return values of the object,
so we don't need to write much code.
Understanding problem without toString() method
Let's see the simple code that prints reference.
1. class Student{
2. int rollno;
3. String name;
4. String city;
5.
18
6. Student(int rollno, String name, String city){
7. this.rollno=rollno;
8. this.name=name;
9. this.city=city;
10. }
11.
12. public static void main(String args[]){
13. Student s1=new Student(101,"Raj","lucknow");
14. Student s2=new Student(102,"Vijay","ghaziabad");
15.
16. System.out.println(s1);//compiler writes here s1.toString()
17. System.out.println(s2);//compiler writes here s2.toString()
18. }
19. }
Output:Student@1fee6fc
Student@1eed786
As you can see in the above example, printing s1 and s2 prints the hashcode values of
the objects but I want to print the values of these objects. Since java compiler
internally calls toString() method, overriding this method will return the specified
values. Let's understand it with the example given below:
Example of Java toString() method
Now let's see the real example of toString() method.
1. class Student{
2. int rollno;
3. String name;
4. String city;
5.
6. Student(int rollno, String name, String city){
7. this.rollno=rollno;
8. this.name=name;
9. this.city=city;
10. }
11.
12. public String toString(){//overriding the toString() method
13. return rollno+" "+name+" "+city;
19
14. }
15. public static void main(String args[]){
16. Student s1=new Student(101,"Raj","lucknow");
17. Student s2=new Student(102,"Vijay","ghaziabad");
18.
19. System.out.println(s1);//compiler writes here s1.toString()
20. System.out.println(s2);//compiler writes here s2.toString()
21. }
22. }
download this example of toString method
Output:101 Raj lucknow
102 Vijay ghaziabad
StringTokenizer in Java
1. StringTokenizer
2. Methods of StringTokenizer
3. Example of StringTokenizer
The java.util.StringTokenizer class allows you to break a string into tokens. It is simple
way to break string.
It doesn't provide the facility to differentiate numbers, quoted strings, identifiers etc. like
StreamTokenizer class. We will discuss about the StreamTokenizer class in I/O chapter.
Constructors of StringTokenizer class
There are 3 constructors defined in the StringTokenizer class.
Constructor Description
StringTokenizer(String str) creates StringTokenizer with specified string.
StringTokenizer(String str, String delim) creates StringTokenizer with specified string and
StringTokenizer(String str, String delim,
boolean returnValue)
creates StringTokenizer with specified string, deli
considered to be tokens. If it is false, delimiter cha
20
Methods of StringTokenizer class
Public method Description
boolean hasMoreTokens() checks if there is more tokens ava
String nextToken() returns the next token from the S
String nextToken(String delim) returns the next token based on t
boolean hasMoreElements() same as hasMoreTokens() metho
Object nextElement() same as nextToken() but its retur
int countTokens() returns the total number of token
Simple example of StringTokenizer class
Let's see the simple example of StringTokenizer class that tokenizes a string "my name is
khan" on the basis of whitespace.
1. import java.util.StringTokenizer;
2. public class Simple{
3. public static void main(String args[]){
4. StringTokenizer st = new StringTokenizer("my name is khan"," ");
5. while (st.hasMoreTokens()) {
6. System.out.println(st.nextToken());
7. }
8. }
9. }
Output:my
name
is
khan

More Related Content

PPTX
Autoboxing And Unboxing In Java
PPTX
Type casting in java
PPTX
Main method in java
PPTX
String, string builder, string buffer
PPT
Java static keyword
PDF
Arrays in Java
PPTX
Java Method, Static Block
Autoboxing And Unboxing In Java
Type casting in java
Main method in java
String, string builder, string buffer
Java static keyword
Arrays in Java
Java Method, Static Block

What's hot (20)

PPTX
Interfaces in java
PDF
Generics
PPTX
Constructor in java
PPTX
Strings in Java
PPTX
Java swing
PPTX
Exception handling in java.pptx
PPTX
collection framework in java
PPTX
JAVA AWT
PDF
Strings in java
PPTX
Control statements in java
PPT
JDBC – Java Database Connectivity
PPTX
Polymorphism in java
PPTX
Multi-threaded Programming in JAVA
PPS
Wrapper class
PPTX
Java 8 Lambda and Streams
PPT
Abstract class
PPT
Final keyword in java
PPTX
Arrays in Java
PPTX
java interface and packages
Interfaces in java
Generics
Constructor in java
Strings in Java
Java swing
Exception handling in java.pptx
collection framework in java
JAVA AWT
Strings in java
Control statements in java
JDBC – Java Database Connectivity
Polymorphism in java
Multi-threaded Programming in JAVA
Wrapper class
Java 8 Lambda and Streams
Abstract class
Final keyword in java
Arrays in Java
java interface and packages
Ad

Similar to Autoboxing and unboxing (20)

PPT
JAVA CONCEPTS
PPTX
3.1 STRINGS (1) java jksdbkjdbsjsef.pptx
PPTX
Java String Handling
PPT
Learning Java 1 – Introduction
PPTX
CH1 ARRAY (1).pptx
PPTX
Core & Advance Java Training For Beginner-PSK Technologies Pvt. Ltd. Nagpur
DOCX
JAVA CONCEPTS AND PRACTICES
DOCX
Jist of Java
PPTX
Programing with java for begniers .pptx
PPTX
Java fundamentals
PPTX
unit-3java.pptx
PPTX
Introduction of Object Oriented Programming Language using Java. .pptx
PPT
Md04 flow control
PPS
String and string buffer
PDF
Java Programming - 04 object oriented in java
PPTX
Java String
PDF
Java Interview Questions PDF By ScholarHat
PDF
11.Object Oriented Programming.pdf
PPTX
Java Strings.pptxJava Strings.pptxJava Strings.pptx
PPT
Introduction to java programming part 2
JAVA CONCEPTS
3.1 STRINGS (1) java jksdbkjdbsjsef.pptx
Java String Handling
Learning Java 1 – Introduction
CH1 ARRAY (1).pptx
Core & Advance Java Training For Beginner-PSK Technologies Pvt. Ltd. Nagpur
JAVA CONCEPTS AND PRACTICES
Jist of Java
Programing with java for begniers .pptx
Java fundamentals
unit-3java.pptx
Introduction of Object Oriented Programming Language using Java. .pptx
Md04 flow control
String and string buffer
Java Programming - 04 object oriented in java
Java String
Java Interview Questions PDF By ScholarHat
11.Object Oriented Programming.pdf
Java Strings.pptxJava Strings.pptxJava Strings.pptx
Introduction to java programming part 2
Ad

Recently uploaded (20)

PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Insiders guide to clinical Medicine.pdf
PDF
Classroom Observation Tools for Teachers
PPTX
Cell Structure & Organelles in detailed.
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
master seminar digital applications in india
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Pharma ospi slides which help in ospi learning
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Insiders guide to clinical Medicine.pdf
Classroom Observation Tools for Teachers
Cell Structure & Organelles in detailed.
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Microbial diseases, their pathogenesis and prophylaxis
Microbial disease of the cardiovascular and lymphatic systems
Week 4 Term 3 Study Techniques revisited.pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
PPH.pptx obstetrics and gynecology in nursing
master seminar digital applications in india
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
01-Introduction-to-Information-Management.pdf
Final Presentation General Medicine 03-08-2024.pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Complications of Minimal Access Surgery at WLH
Pharma ospi slides which help in ospi learning
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf

Autoboxing and unboxing

  • 1. 1 Autoboxing and Unboxing: The automatic conversion of primitive data types into its equivalent Wrapper type is known as boxing and opposite operation is known as unboxing. This is the new feature of Java5. So java programmer doesn't need to write the conversion code. Advantage of Autoboxing and Unboxing: No need of conversion between primitives and Wrappers manually so less coding is required. Simple Example of Autoboxing in java: 1. class BoxingExample1{ 2. public static void main(String args[]){ 3. int a=50; 4. Integer a2=new Integer(a);//Boxing 5. 6. Integer a3=5;//Boxing 7. 8. System.out.println(a2+" "+a3); 9. } 10. } 11. Test it Now Output:50 5 download this example Simple Example of Unboxing in java: The automatic conversion of wrapper class type into corresponding primitive type, is known as Unboxing. Let's see the example of unboxing: 1. 2. class UnboxingExample1{ 3. public static void main(String args[]){ 4. Integer i=new Integer(50); 5. int a=i;
  • 2. 2 6. 7. System.out.println(a); 8. } 9. } 10. Wrapper class in Java Wrapper class in java provides the mechanism to convert primitive into object and object into primitive. Since J2SE 5.0, autoboxing and unboxing feature converts primitive into object and object into primitive automatically. The automatic conversion of primitive into object is known and autoboxing and vice-versa unboxing. One of the eight classes of java.lang package are known as wrapper class in java. The list of eight wrapper classes are given below: Primitive Type Wrapper clas boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double Wrapper class Example: Primitive to Wrapper 1. public class WrapperExample1{ 2. public static void main(String args[]){ 3. //Converting int into Integer 4. int a=20;
  • 3. 3 5. Integer i=Integer.valueOf(a);//converting int into Integer 6. Integer j=a;//autoboxing, now compiler will write Integer.valueOf(a) internally 7. 8. System.out.println(a+" "+i+" "+j); 9. }} Output: 20 20 20 Wrapper class Example: Wrapper to Primitive 1. public class WrapperExample2{ 2. public static void main(String args[]){ 3. //Converting Integer to int 4. Integer a=new Integer(3); 5. int i=a.intValue();//converting Integer to int 6. int j=a;//unboxing, now compiler will write a.intValue() internally 7. 8. System.out.println(a+" "+i+" "+j); 9. }} Output: 3 3 3
  • 4. 4 Difference between object and class There are many differences between object and class. A list of differences between object and class are given below: No. Object 1) Object is an instance of a class. 2) Object is a real world entity such as pen, laptop, mobile, bed, keyboard, mouse, chair e 3) Object is a physical entity. 4) Object is created through new keyword ma Student s1=new Student(); 5) Object is created many times as per requirement. 6) Object allocates memory when it is created. 7) There are many ways to create object in java such as new keyword, newInstance method, factory method and deserialization. Next TopicMethod Overloading vs Method Overriding ← prevnext →
  • 5. 5 Difference between method overloading and method overriding in java There are many differences between method overloading and method overriding in java. A list of differences between method overloading and method overriding are given below: No. Method Overloading 1) Method overloading is used to increase the readability of the program. 2) Method overloading is performed within class. 3) In case of method overloading, parameter must be different. 4) Method overloading is the example of compile time polymorphism. 5) In java, method overloading can't be performed by changing return type of the metho only. Return type can be same or different in method overloading. But you must have to chang the parameter. Java Method Overloading example 1. class OverloadingExample{ 2. static int add(int a,int b){return a+b;} 3. static int add(int a,int b,int c){return a+b+c;} 4. } Java Method Overriding example 1. class Animal{ 2. void eat(){System.out.println("eating...");} 3. } 4. class Dog extends Animal{ 5. void eat(){System.out.println("eating bread...");} 6. } Next 1) String compare by equals() method The String equals() method compares the original content of the string. It compares values of string for equality. String class provides two methods:
  • 6. 6 o public boolean equals(Object another) compares this string to the specified object. o public boolean equalsIgnoreCase(String another) compares this String to another string, ignoring case. 1. class Teststringcomparison1{ 2. public static void main(String args[]){ 3. String s1="Sachin"; 4. String s2="Sachin"; 5. String s3=new String("Sachin"); 6. String s4="Saurav"; 7. System.out.println(s1.equals(s2));//true 8. System.out.println(s1.equals(s3));//true 9. System.out.println(s1.equals(s4));//false 10. } 11. } Test it Now Output:true true false 1. class Teststringcomparison2{ 2. public static void main(String args[]){ 3. String s1="Sachin"; 4. String s2="SACHIN"; 5. 6. System.out.println(s1.equals(s2));//false 7. System.out.println(s1.equalsIgnoreCase(s3));//true 8. } 9. } Test it Now Output:false true 2) String compare by == operator The = = operator compares references not values. 1. class Teststringcomparison3{ 2. public static void main(String args[]){ 3. String s1="Sachin";
  • 7. 7 4. String s2="Sachin"; 5. String s3=new String("Sachin"); 6. System.out.println(s1==s2);//true (because both refer to same instance) 7. System.out.println(s1==s3);//false(because s3 refers to instance created in nonpool) 8. } 9. } Test it ow Output:true false 3) String compare by compareTo() method The String compareTo() method compares values lexicographically and returns an integer value that describes if first string is less than, equal to or greater than second string. Suppose s1 and s2 are two string variables. If: o s1 == s2 :0 o s1 > s2 :positive value o s1 < s2 :negative value 1. class Teststringcomparison4{ 2. public static void main(String args[]){ 3. String s1="Sachin"; 4. String s2="Sachin"; 5. String s3="Ratan"; 6. System.out.println(s1.compareTo(s2));//0 7. System.out.println(s1.compareTo(s3));//1(because s1>s3) 8. System.out.println(s3.compareTo(s1));//-1(because s3 < s1 ) 9. } 10. } 2) String Concatenation by concat() method The String concat() method concatenates the specified string to the end of current string. Syntax: 1. public String concat(String another) Let's see the example of String concat() method.
  • 8. 8 1. class TestStringConcatenation3{ 2. public static void main(String args[]){ 3. String s1="Sachin "; 4. String s2="Tendulkar"; 5. String s3=s1.concat(s2); 6. System.out.println(s3);//Sachin Tendulkar 7. } 8. } Test it NowSachin Tendulkar Substring in Java A part of string is called substring. In other words, substring is a subset of another string. In case of substring startIndex is inclusive and endIndex is exclusive. You can get substring from the given string object by one of the two methods: 1. public String substring(int startIndex): This method returns new String object containing the substring of the given string from specified startIndex (inclusive). 2. public String substring(int startIndex, int endIndex): This method returns new String object containing the substring of the given string from specified startIndex to endIndex. In case of string: o startIndex: inclusive o endIndex: exclusive Let's understand the startIndex and endIndex by the code given below. 1. String s="hello"; 2. System.out.println(s.substring(0,2));//he In the above substring, 0 points to h but 2 points to e (because end index is exclusive). Example of java substring 1. public class TestSubstring{ 2. public static void main(String args[]){ 3. String s="Sachin Tendulkar"; 4. System.out.println(s.substring(6));//Tendulkar
  • 9. 9 5. System.out.println(s.substring(0,6));//Sachin 6. } 7. } Java String class methods The java.lang.String class provides a lot of methods to work on string. By the help of these methods, we can perform operations on string such as trimming, concatenating, converting, comparing, replacing strings etc. Java String is a powerful concept because everything is treated as a string if you submit any form in window based, web based or mobile application. Let's see the important methods of String class. Java String toUpperCase() and toLowerCase() method The java string toUpperCase() method converts this string into uppercase letter and string toLowerCase() method into lowercase letter. 1. String s="Sachin"; 2. System.out.println(s.toUpperCase());//SACHIN 3. System.out.println(s.toLowerCase());//sachin 4. System.out.println(s);//Sachin(no change in original) Test it Now SACHIN sachin Sachin Java String trim() method The string trim() method eliminates white spaces before and after string. 1. String s=" Sachin "; 2. System.out.println(s);// Sachin 3. System.out.println(s.trim());//Sachin Test it Now Sachin Sachin
  • 10. 10 Java String startsWith() and endsWith() method 1. String s="Sachin"; 2. System.out.println(s.startsWith("Sa"));//true 3. System.out.println(s.endsWith("n"));//true Test it Now true true Java String charAt() method The string charAt() method returns a character at specified index. 1. String s="Sachin"; 2. System.out.println(s.charAt(0));//S 3. System.out.println(s.charAt(3));//h Test it Now S h Java String length() method The string length() method returns length of the string. 1. String s="Sachin"; 2. System.out.println(s.length());//6 Test it Now 6 Java String intern() method A pool of strings, initially empty, is maintained privately by the class String. When the intern method is invoked, if the pool already contains a string equal to this String object as determined by the equals(Object) method, then the string from the pool is returned. Otherwise, this String object is added to the pool and a reference to this String object is returned. 1. String s=new String("Sachin");
  • 11. 11 2. String s2=s.intern(); 3. System.out.println(s2);//Sachin 4. Test it Now Sachin Java String valueOf() method The string valueOf() method coverts given type such as int, long, float, double, boolean, char and char array into string. 1. int a=10; 2. String s=String.valueOf(a); 3. System.out.println(s+10); Output: 1010 Java String replace() method The string replace() method replaces all occurrence of first sequence of character with second sequence of character. 1. String s1="Java is a programming language. Java is a platform. Java is an Island."; 2. String replaceString=s1.replace("Java","Kava");//replaces all occurrences of "Java" to "Kava " 3. System.out.println(replaceString); Output: Kava is a programming language. Kava is a platform. Kava is an Island. next →← prev Java StringBuffer class Java StringBuffer class is used to created mutable (modifiable) string. The StringBuffer class in java is same as String class except it is mutable i.e. it can be changed.
  • 12. 12 Note: Java StringBuffer class is thread-safe i.e. multiple threads cannot access it simultaneously. So it is safe and will result in an order. Important Constructors of StringBuffer class 1. StringBuffer(): creates an empty string buffer with the initial capacity of 16. 2. StringBuffer(String str): creates a string buffer with the specified string. 3. StringBuffer(int capacity): creates an empty string buffer with the specified capacity as length. Important methods of StringBuffer class 1. public synchronized StringBuffer append(String s): is used to append the specified string with this string. The append() method is overloaded like append(char), append(boolean), append(int), append(float), append(double) etc. 2. public synchronized StringBuffer insert(int offset, String s): is used to insert the specified string with this string at the specified position. The insert() method is overloaded like insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) etc. 3. public synchronized StringBuffer replace(int startIndex, int endIndex, String str): is used to replace the string from specified startIndex and endIndex. 4. public synchronized StringBuffer delete(int startIndex, int endIndex): is used to delete the string from specified startIndex and endIndex. 5. public synchronized StringBuffer reverse(): is used to reverse the string. 6. public int capacity(): is used to return the current capacity. 7. public void ensureCapacity(int minimumCapacity): is used to ensure the capacity at least equal to the given minimum. 8. public char charAt(int index): is used to return the character at the specified position. 9. public int length(): is used to return the length of the string i.e. total number of characters. 10. public String substring(int beginIndex): is used to return the substring from the specified beginIndex. 11. public String substring(int beginIndex, int endIndex): is used to return the substring from the specified beginIndex and endIndex.
  • 13. 13 What is mutable string A string that can be modified or changed is known as mutable string. StringBuffer and StringBuilder classes are used for creating mutable string. 1) StringBuffer append() method The append() method concatenates the given argument with this string. 1. class A{ 2. public static void main(String args[]){ 3. StringBuffer sb=new StringBuffer("Hello "); 4. sb.append("Java");//now original string is changed 5. System.out.println(sb);//prints Hello Java 6. } 7. } 2) StringBuffer insert() method The insert() method inserts the given string with this string at the given position. 1. class A{ 2. public static void main(String args[]){ 3. StringBuffer sb=new StringBuffer("Hello "); 4. sb.insert(1,"Java");//now original string is changed 5. System.out.println(sb);//prints HJavaello 6. } 7. } 3) StringBuffer replace() method The replace() method replaces the given string from the specified beginIndex and endIndex. 1. class A{ 2. public static void main(String args[]){ 3. StringBuffer sb=new StringBuffer("Hello"); 4. sb.replace(1,3,"Java"); 5. System.out.println(sb);//prints HJavalo 6. } 7. }
  • 14. 14 4) StringBuffer delete() method The delete() method of StringBuffer class deletes the string from the specified beginIndex to endIndex. 1. class A{ 2. public static void main(String args[]){ 3. StringBuffer sb=new StringBuffer("Hello"); 4. sb.delete(1,3); 5. System.out.println(sb);//prints Hlo 6. } 7. } 5) StringBuffer reverse() method The reverse() method of StringBuilder class reverses the current string. 1. class A{ 2. public static void main(String args[]){ 3. StringBuffer sb=new StringBuffer("Hello"); 4. sb.reverse(); 5. System.out.println(sb);//prints olleH 6. } 7. } 6) StringBuffer capacity() method The capacity() method of StringBuffer class returns the current capacity of the buffer. The default capacity of the buffer is 16. If the number of character increases from its current capacity, it increases the capacity by (oldcapacity*2)+2. For example if your current capacity is 16, it will be (16*2)+2=34. 1. class A{ 2. public static void main(String args[]){ 3. StringBuffer sb=new StringBuffer(); 4. System.out.println(sb.capacity());//default 16 5. sb.append("Hello"); 6. System.out.println(sb.capacity());//now 16 7. sb.append("java is my favourite language"); 8. System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2 9. }
  • 15. 15 10. } 7) StringBuffer ensureCapacity() method The ensureCapacity() method of StringBuffer class ensures that the given capacity is the minimum to the current capacity. If it is greater than the current capacity, it increases the capacity by (oldcapacity*2)+2. For example if your current capacity is 16, it will be (16*2)+2=34. 1. class A{ 2. public static void main(String args[]){ 3. StringBuffer sb=new StringBuffer(); 4. System.out.println(sb.capacity());//default 16 5. sb.append("Hello"); 6. System.out.println(sb.capacity());//now 16 7. sb.append("java is my favourite language"); 8. System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2 9. sb.ensureCapacity(10);//now no change 10. System.out.println(sb.capacity());//now 34 11. sb.ensureCapacity(50);//now (34*2)+2 12. System.out.println(sb.capacity());//now 70 13. } 14. } Difference between String and StringBuffer There are many differences between String and StringBuffer. A list of differences between String and StringBuffer are given below: No. String 1) String class is immutable. 2) String is slow and consumes more memory when you concat too many strings because every creates new instance. 3) String class overrides the equals() method of Object class. So you can compare the contents strings by equals() method. Performance Test of String and StringBuffer
  • 16. 16 1. public class ConcatTest{ 2. public static String concatWithString() { 3. String t = "Java"; 4. for (int i=0; i<10000; i++){ 5. t = t + "Tpoint"; 6. } 7. return t; 8. } 9. public static String concatWithStringBuffer(){ 10. StringBuffer sb = new StringBuffer("Java"); 11. for (int i=0; i<10000; i++){ 12. sb.append("Tpoint"); 13. } 14. return sb.toString(); 15. } 16. public static void main(String[] args){ 17. long startTime = System.currentTimeMillis(); 18. concatWithString(); 19. System.out.println("Time taken by Concating with String: "+(System.currentTimeMillis ()-startTime)+"ms"); 20. startTime = System.currentTimeMillis(); 21. concatWithStringBuffer(); 22. System.out.println("Time taken by Concating with StringBuffer: "+(System.currentTim eMillis()-startTime)+"ms"); 23. } 24. } Time taken by Concating with String: 578ms Time taken by Concating with StringBuffer: 0ms String and StringBuffer HashCode Test As you can see in the program given below, String returns new hashcode value when you concat string but StringBuffer returns same. 1. public class InstanceTest{ 2. public static void main(String args[]){ 3. System.out.println("Hashcode test of String:"); 4. String str="java"; 5. System.out.println(str.hashCode());
  • 17. 17 6. str=str+"tpoint"; 7. System.out.println(str.hashCode()); 8. 9. System.out.println("Hashcode test of StringBuffer:"); 10. StringBuffer sb=new StringBuffer("java"); 11. System.out.println(sb.hashCode()); 12. sb.append("tpoint"); 13. System.out.println(sb.hashCode()); 14. } 15. } Hashcode test of String: 3254818 229541438 Hashcode test of StringBuffer: 118352462 118352462 Java toString() method If you want to represent any object as a string, toString() method comes into existence. The toString() method returns the string representation of the object. If you print any object, java compiler internally invokes the toString() method on the object. So overriding the toString() method, returns the desired output, it can be the state of an object etc. depends on your implementation. Advantage of Java toString() method By overriding the toString() method of the Object class, we can return values of the object, so we don't need to write much code. Understanding problem without toString() method Let's see the simple code that prints reference. 1. class Student{ 2. int rollno; 3. String name; 4. String city; 5.
  • 18. 18 6. Student(int rollno, String name, String city){ 7. this.rollno=rollno; 8. this.name=name; 9. this.city=city; 10. } 11. 12. public static void main(String args[]){ 13. Student s1=new Student(101,"Raj","lucknow"); 14. Student s2=new Student(102,"Vijay","ghaziabad"); 15. 16. System.out.println(s1);//compiler writes here s1.toString() 17. System.out.println(s2);//compiler writes here s2.toString() 18. } 19. } Output:Student@1fee6fc Student@1eed786 As you can see in the above example, printing s1 and s2 prints the hashcode values of the objects but I want to print the values of these objects. Since java compiler internally calls toString() method, overriding this method will return the specified values. Let's understand it with the example given below: Example of Java toString() method Now let's see the real example of toString() method. 1. class Student{ 2. int rollno; 3. String name; 4. String city; 5. 6. Student(int rollno, String name, String city){ 7. this.rollno=rollno; 8. this.name=name; 9. this.city=city; 10. } 11. 12. public String toString(){//overriding the toString() method 13. return rollno+" "+name+" "+city;
  • 19. 19 14. } 15. public static void main(String args[]){ 16. Student s1=new Student(101,"Raj","lucknow"); 17. Student s2=new Student(102,"Vijay","ghaziabad"); 18. 19. System.out.println(s1);//compiler writes here s1.toString() 20. System.out.println(s2);//compiler writes here s2.toString() 21. } 22. } download this example of toString method Output:101 Raj lucknow 102 Vijay ghaziabad StringTokenizer in Java 1. StringTokenizer 2. Methods of StringTokenizer 3. Example of StringTokenizer The java.util.StringTokenizer class allows you to break a string into tokens. It is simple way to break string. It doesn't provide the facility to differentiate numbers, quoted strings, identifiers etc. like StreamTokenizer class. We will discuss about the StreamTokenizer class in I/O chapter. Constructors of StringTokenizer class There are 3 constructors defined in the StringTokenizer class. Constructor Description StringTokenizer(String str) creates StringTokenizer with specified string. StringTokenizer(String str, String delim) creates StringTokenizer with specified string and StringTokenizer(String str, String delim, boolean returnValue) creates StringTokenizer with specified string, deli considered to be tokens. If it is false, delimiter cha
  • 20. 20 Methods of StringTokenizer class Public method Description boolean hasMoreTokens() checks if there is more tokens ava String nextToken() returns the next token from the S String nextToken(String delim) returns the next token based on t boolean hasMoreElements() same as hasMoreTokens() metho Object nextElement() same as nextToken() but its retur int countTokens() returns the total number of token Simple example of StringTokenizer class Let's see the simple example of StringTokenizer class that tokenizes a string "my name is khan" on the basis of whitespace. 1. import java.util.StringTokenizer; 2. public class Simple{ 3. public static void main(String args[]){ 4. StringTokenizer st = new StringTokenizer("my name is khan"," "); 5. while (st.hasMoreTokens()) { 6. System.out.println(st.nextToken()); 7. } 8. } 9. } Output:my name is khan