"I am delighted once again to pen the welcome note to the Tosh!Yas Technologies ."
Call +91 74 88 34 7779 | Email : firstname.lastname@example.org
We can compare string in java on the basis of content and reference.
It is used in authentication (by equals() method), sorting (by compareTo() method), reference matching (by == operator) etc.
There are three ways to compare string in java:
The String equals() method compares the original content of the string. It compares values of string for equality. String class provides two methods:
In java, string objects are immutable. Immutable simply means unmodifiable or unchangeable.
Once string object is created its data or state can't be changed but a new string object is created.
Let's try to understand the immutability concept by the example given below:
Now it can be understood by the diagram given below. Here Sachin is not changed but a new object is created with sachintendulkar. That is why string is known as immutable.
As you can see in the above figure that two objects are created but s reference variable still refers to "Sachin" not to "Sachin Tendulkar".
But if we explicitely assign it to the reference variable, it will refer to "Sachin Tendulkar" object.For example:
In such case, s points to the "Sachin Tendulkar". Please notice that still sachin object is not modified.
|Because java uses the concept of string literal.Suppose there are 5 reference variables,all referes to one object "sachin".If one reference variable changes the value of the object, it will be affected to all the reference variables. That is why string objects are immutable in java.|
The String equalsIgnoreCase() method compares the two given strings on the basis of content of the string irrespective of case of the string. It is like equals() method but doesn't check case. If any character is not matched, it returns false otherwise it returns true.
str : another string i.e. compared with this string.
It returns true if characters of both strings are equal ignoring case otherwise false.
The java string equals() method compares the two given strings based on the content of the string. If any character is not matched, it returns false. If all characters are matched, it returns true.
The String equals() method overrides the equals() method of Object class.
anotherObject : another object i.e. compared with this string.
true if characters of both strings are equal otherwise false.
equals() method of java Object class.
The java string endsWith() method checks if this string ends with given suffix. It returns true if this string ends with given suffix else returns false.
The syntax or signature of endsWith() method is given below.
suffix : Sequence of character
true or false
The java string contains() method searches the sequence of characters in this string. It returns true if sequence of char values are found in this string otherwise returns false.
The signature of string contains() method is given below:
sequence : specifies the sequence of characters to be searched.
true if sequence of char value exists, otherwise false.
NullPointerException : if sequence is null.
The java string concat() method combines specified string at the end of this string. It returns combined string. It is like appending another string.
The signature of string concat() method is given below:
anotherString : another string i.e. to be combined at the end of this string.
The java string compareTo() method compares the given string with current string lexicographically. It returns positive number, negative number or 0.
It compares strings on the basis of Unicode value of each character in the strings.
If first string is lexicographically greater than second string, it returns positive number (difference of character value). If first string is less than second string lexicographically, it returns negative number and if first string is lexicographically equal to second string, it returns 0.
anotherString: represents string that is to be compared with current string
an integer value
If you compare string with blank or empty string, it returns length of the string. If second string is empty, result would be positive. If first string is empty, result would be negative.
The java string charAt() method returns a char value at the given index number. The index number starts from 0. It returns StringIndexOutOfBoundsException if given index number is greater than this string or negative index number.
The signature of string charAt() method is given below:
index : index number, starts with 0
StringIndexOutOfBoundsException : if index is negative value or greater than this string length.
Let's see the example of charAt() method where we are passing greater index value. In such case, it throws StringIndexOutOfBoundsException at run time.
In java, string is basically an object that represents sequence of char values. An array of characters works same as java string. For example:
is same as:
Java String class provides a lot of methods to perform operations on string such as compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring() etc.
The java.lang.String class implements Serializable, Comparable and CharSequence interfaces.
The CharSequence interface is used to represent sequence of characters. It is implemented by String, StringBuffer and StringBuilder classes. It means, we can create string in java by using these 3 classes.
The java String is immutable i.e. it cannot be changed. Whenever we change any string, a new instance is created. For mutable string, you can use StringBuffer and StringBuilder classes.
We will discuss about immutable string later. Let's first understand what is string in java and how to create the string object.
Generally, string is a sequence of characters. But in java, string is an object that represents a sequence of characters. The java.lang.String class is used to create string object.
|There are two ways to create String object:
Java String literal is created by using double quotes. For Example:
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:
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.
To make Java more memory efficient (because no new objects are created if it exists already in string constant pool).
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).
The java.lang.String class provides many useful methods to perform operations on sequence of char values.
|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||static String equalsIgnoreCase(String another)||compares another string. It doesn't check case.|
|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|
|23||String toLowerCase()||returns string in lowercase.|
|24||String toLowerCase(Locale l)||returns string in lowercase using specified locale.|
|25||String toUpperCase()||returns string in uppercase.|
|26||String toUpperCase(Locale l)||returns string in uppercase using specified locale.|
|27||String trim()||removes beginning and ending spaces of this string.|
|28||static String valueOf(int value)||converts given type into string. It is overloaded.|