Java String
- Java
String Handling
- How to
create string object
1. String literal
2. new keyword
Java String provides a lot of concepts that can be
performed on a string such as compare, concat, equals, split, length, replace,
compareTo, intern, substring etc.
In java, string is basically an
object that represents sequence of char values.
An array of characters works
same as java string. For example:
1. char[] ch={'j','a','v','a',,'p','r','o','g','r',’a’,’m’,’m’,’i’,’g’};
2. String s=new String(ch);
is same as:
1. String s="javaprogramming";
The java.lang.String class
implements Serializable, Comparable and CharSequence interfaces.
The java String is immutable
i.e. it cannot be changed but a new instance is created. For mutable class, you
can use StringBuffer and StringBuilder class.
We will discuss about immutable
string later. Let's first understand what is string in java and how to create
the string object.
What is String in java
Generally, string is a sequence
of characters. But in java, string is an object that represents a sequence of
characters. String class is used to create string object.
How to
create String object?
There
are two ways to create String object:
1. By
string literal
2. By
new keyword
|
1) String Literal
Java String literal is created
by using double quotes. For Example:
1. String s="welcome";
Each time you create a string
literal, the JVM checks the string constant pool first. If the string already
exists in the pool, a reference to the pooled instance is returned. If string
doesn't exist in the pool, a new string instance is created and placed in the
pool. For example:
1. String s1="Welcome";
2. String s2="Welcome";//will not create new instance
In the above example only one
object will be created. Firstly JVM will not find any string object with the value
"Welcome" in string constant pool, so it will create a new object.
After that it will find the string with the value "Welcome" in the
pool, it will not create new object but will return the reference to the same
instance.
Note:
String objects are stored in a special memory area known as string constant
pool.
Why java
uses concept of string literal?
To make Java more memory
efficient (because no new objects are created if it exists already in string
constant pool).
2) By new keyword
1. String s=new String("Welcome");//creates two objects and one reference variable
In such case, JVM will create a
new string object in normal(non pool) heap memory and the literal
"Welcome" will be placed in the string constant pool. The variable s
will refer to the object in heap(non pool).
Java String Example
1. public class StringExample{
2. public static void main(String args[]){
3. String s1="java";//creating string by java string literal
4.
5. char ch[]={'s','t','r','i','n','g','s'};
6. String s2=new String(ch);//converting char array to string
7.
8. String s3=new String("example");//creating java string by new keyword
9.
10. System.out.println(s1);
11. System.out.println(s2);
12. System.out.println(s3);
13. }}
java
strings
example
Java String class methods
The java.lang.String class
provides many useful methods to perform operations on sequence of char values.
No.
|
Method
|
Description
|
1
|
char
charAt(int index)
|
returns
char value for the particular index
|
2
|
int
length()
|
returns
string length
|
3
|
static
String format(String format, Object... args)
|
returns
formatted string
|
4
|
static
String format(Locale l, String format, Object... args)
|
returns
formatted string with given locale
|
5
|
String
substring(int beginIndex)
|
returns
substring for given begin index
|
6
|
String
substring(int beginIndex, int endIndex)
|
returns
substring for given begin index and end index
|
7
|
boolean
contains(CharSequence s)
|
returns
true or false after matching the sequence of char value
|
8
|
static
String join(CharSequence delimiter, CharSequence... elements)
|
returns
a joined string
|
9
|
static
String join(CharSequence delimiter, Iterable<? extends CharSequence>
elements)
|
returns
a joined string
|
10
|
boolean
equals(Object another)
|
checks
the equality of string with object
|
11
|
boolean
isEmpty()
|
checks
if string is empty
|
12
|
String
concat(String str)
|
concatinates
specified string
|
13
|
String
replace(char old, char new)
|
replaces
all occurrences of specified char value
|
14
|
String
replace(CharSequence old, CharSequence new)
|
replaces
all occurrences of specified CharSequence
|
15
|
String
trim()
|
returns
trimmed string omitting leading and trailing spaces
|
16
|
String
split(String regex)
|
returns
splitted string matching regex
|
17
|
String
split(String regex, int limit)
|
returns
splitted string matching regex and limit
|
18
|
String
intern()
|
returns
interned string
|
19
|
int
indexOf(int ch)
|
returns
specified char value index
|
20
|
int
indexOf(int ch, int fromIndex)
|
returns
specified char value index starting with given index
|
21
|
int
indexOf(String substring)
|
returns
specified substring index
|
22
|
int
indexOf(String substring, int fromIndex)
|
returns
specified substring index starting with given index
|
Do You Know ?
- Why String
objects are immutable?
- How to create
an immutable class?
- What is string
constant pool?
- What code is
written by the compiler if you concat any string by + (string concatenation
operator)?
- What is the
difference between StringBuffer and StringBuilder class?
What we will learn in String Handling ?
- Concept of
String
- Immutable
String
- String
Comparison
- String
Concatenation
- Concept of
Substring
- String class
methods and its usage
- StringBuffer
class
- StringBuilder
class
- Creating
Immutable class
- toString()
method
- StringTokenizer
class
No comments:
Post a Comment