Handling character strings in Java is supported through two final classes: String and StringBuffer. The String class implements immutable character strings, which are read-only once the string has been created and initialized, whereas the StringBuffer class implements dynamic character strings. All string literals in Java programs, are implemented as instances of String class. Strings in Java are 16-bit Unicode.
Note : In JDK 1.5+ you can use StringBuilder, which works exactly like StringBuffer, but it is faster and not thread-safe
The easiest way of creating a String object is using a string literal:
String str1 = "I cant be changed once created!";
A string literal is a reference to a String object. Since a string literal is a reference, it can be manipulated like any other String reference. i.e. it can be used to invoke methods of String class.
For example,
Int myLength = "Hello world".length();
The Java language provides special support for the string concatenation operator ( + ), which has been overloaded for Strings objects. String concatenation is implemented through the StringBuffer class and its append method.
For example,
String finalString = "Hello" + "World"
Would be executed as
String finalString = new StringBuffer().append("Hello").append("World").toString();
The Java compiler optimizes handling of string literals. Only one String object is shared by all string having same character sequence. Such strings are said to be interned, meaning that they share a unique String object. The String class maintains a private pool where such strings are interned.
For example,
String str1="Hello";
String str2="Hello";
If(str1 == str2)
System.out.println("Equal");
Would print Equal when run.
Since the String objects are immutable. Any operation performed on one String reference will never have any effect on other references denoting the same object.
Constructors
String class provides various types of constructors to create String objects. Some of them are,
String()
Creates a new String object whose content is empty i.e. "".
String(String s)
Creates a new String object whose content is same as the String object passed as an argument.
Note: Constructor creates a new string means it does not intern the String. Interned String object reference can be obtained by using intern() method of the String class
String also provides constructors that take byte and char array as argument and returns String object.
String equality
String class overrides the equals() method of the Object class. It compares the content of the two string object and returns the boolean value accordingly.
For example,
String str1="Hello";
String str2="Hello";
String str3=new String("Hello") //Using constructor.
If(str1 == str2)
System.out.println("Equal 1");
Else
System.out.println("Not Equal 1");
If(str1 == str3)
System.out.println("Equal 2");
Else
System.out.println("I am constructed using constructor, hence
not interned");
If( str1.equals(str3) )
System.out.println("Equal 3");
Else
System.out.println("Not Equal 3");
The output would be,
Equal 1
Not Equal 2
Equal 3
Note that == compares the references not the actual contents of the String object; Where as equals method compares actual contents of two String objects.
String class also provides another method equalsIgnoreCase() which ignores the case of contents while comparing.
Apart from these methods String class also provides compareTo methods.
int compareTo(String str2)
This method compares two Strings and returns an int value. It returns value 0, if this string is equal to the string argument a value less than 0, if this string is less than the string argument
a value greater than 0, if this string is greater than the string argument
int compareTo(Object object)
This method behaves exactly like the first method if the argument object is actually a String object; otherwise, it throws a ClassCastException.
String Manipulations
Reading characters from String:
char charAt(index i)
Returns char at specified index. An index ranges from 0 to length() -1.
Searching characters in String
String class provides indexOf method which searches for the specified character inside the string object. This method has been overloaded. If the search is successful, then it returns the index of the char otherwise -1 is returned.
int indexOf(int c)
Returns the index of first occurrence of the argument char.
int indexOf(int c, int fromIndex)
Finds the index of the first occurrence of the argument character in a string, starting at the index specified in the second argument.
int indexOf(String str)
Finds the start index of the first occurrence of the substring argument in a String.
int indexOf(String str, int fromIndex)
Finds the start index of the first occurrence of the substring argument in a String, starting at the index specified in the second argument.
The String class also provides methods to search for a character or string in backward direction. These methods are given below.
int lastIndexOf(int ch)
int lastIndexOf(int ch, int fromIndex)
int lastIndexOf(String str)
int lastIndexOf(String str, int fromIndex)
Replacing characters in String
The replace method of String can be used to replace all occurrences of the specified character with given character.
String replace(char oldChar, int newchar)
Getting substrings
String class provides substring method to extract specified portion of the given String. This method has been overloaded.
String substring(int startIndex)
String substring(int startIndex, int endIndex)
Note: A new String object containing the substring is created and returned. The original String won't be affected.
If the index value is not valid, a StringIndexOutOfBoundsException is thrown.
Conversions
String class provides set of static overloaded valueOf method to convert primitives and object into strings.
static String valueOf(Object obj)
static String valueOf(char[] character)
static String valueOf(boolean b)
static String valueOf(char c)
static String valueOf(int i)
static String valueOf(long l)
static String valueOf(float f)
static String valueOf(double d)
Manipulating Character Case
String class provides following methods to manipulate character case in String.
String toUpperCase()
String toUpperCase(Locale locale)
String toLowerCase()
String toLowerCase(Locale locale)
Note : Original String object is returned if none of the characters changed, otherwise new String object is constructed and returned.
Miscellaneous methods
String trim()
This method removes white space from the front and the end of a String.
int length()
Returns length of the String.
String intern()
This method returns interned String object, if already present in the String pool. Otherwise this String is added into the pool, and then interned reference is returned.
Rahim Vindhani
Application Develper [Application Development & Webservices]
IBM Global Services, pune, India
email: rahim.vindhani@gmail.com
web: http://www.rahim.co.nr
![]() |
|
![]() |
|
![]() |
|
![]() |
Remember nice and prosperous Clinton era? When you implemented innovative... Read More
Microsoft Business Solutions products: Great Plains, MS CRM, Navision, Axapta,... Read More
Microsoft Great Plains is main accounting / ERP application... Read More
For those who still don't know, Microsoft Publisher helps computer... Read More
Microsoft Great Plains is main mid-market application from Microsoft Business... Read More
Follow the steps below to quickly design, generate, and deploy... Read More
The most important benefit of XML is its simplicity. Though... Read More
Fortunately one of the most common reasons cited for the... Read More
Microsoft Business Solutions Great Plains serves to the wide spectrum... Read More
In the new era of internet marketing the problem of... Read More
Great Plains Accounting, accounting package for mid-size and small companies... Read More
Are you a database professional? Do you work with a... Read More
Microsoft Business Solutions CRM is present several years on the... Read More
I completed an experiment recently. I wanted to find out... Read More
I've been active in the Cisco Certification track for four... Read More
Now there are Three Steps To Heaven Just listen and... Read More
Creating a new markup language.Introduction.General Reuse Markup Langauge, or GRML,... Read More
Before being able to choose a secure Internet communication system,... Read More
Microsoft Outlook is one of the most widely used software... Read More
When it comes to screenplay software each screenwriter needs to... Read More
Looks like Microsoft Great Plains becomes more and more popular,... Read More
Microsoft CRM is winning market share step-by-step from such the... Read More
Microsoft Business Solutions Great Plains, former Great Plains Software eEnterprise,... Read More
Microsoft Business Solutions Great Plains is very popular ERP platform... Read More
Microsoft Business Solutions Great Plains is written in Great Plains... Read More
Many Webmasters have never bothered to view their website's server... Read More
Language development computer: Computer-based method for aiding language development seems... Read More
Remember back in the days where screensavers were the coolest... Read More
RSS (Really Simple Syndication) is a way for a site... Read More
Manufacturing in the USA is far away down from mid... Read More
Upgrading. Downtime. Maintenance. Hardware obsolescence. Implementation issues. The litany of... Read More
While I was preparing some personal background information for a... Read More
DBxtra goes ASPGetting to the information hidden within corporate databases... Read More
Microsoft Business Solutions Great Plains has substantial market share among... Read More
This short paper will expand on two key reasons to... Read More
Microsoft Business Solutions Great Plains, former Great Plains Software Dynamics... Read More
Usually workflow & messaging is realized in CRM and then... Read More
Microsoft Business Solutions Great Plains was designed back in the... Read More
We live in a post-industrial age where information is the... Read More
What is a Web Database?A web database is a database... Read More
Are you a database professional? Do you work with a... Read More
I provide, here clear explanations and a count of function... Read More
Task Manager is a Windows system utility that displays thetasks... Read More
Microsoft Business Solutions Navision is main ERP application for European,... Read More
Designing without tables by using CSS layouts is fast becoming... Read More
Learning how to program software seems like a daunting task... Read More
Not every software testing project can or should be automated.... Read More
Great Plains Fixed Assets Management module is a robust tool... Read More
Sometimes your PC will start acting strange for no apparent... Read More
Need help making sense of algebra? Have algebra lectures in... Read More
In this article you will find some background information about... Read More
If you have Microsoft Great Plains and support it... Read More
With so many Microsoft Windows related viruses, errors, and other... Read More
If you have Microsoft Great Plains and support it for... Read More
If you company is small or mid-size special products or... Read More
As we could imagine, if you are reading this article... Read More
This article is the first of a series of articles... Read More
Our opinion is based on our Microsoft Business Solutions Great... Read More
What is Tripwire?Tripwire is a form intrusion detection system (IDS)... Read More
The Microsoft system preparation utility for Windows 2000 is a... Read More
Microsoft Business Solutions Great Plains is mid and even corporate... Read More
Microsoft Great Plains, Navision, Solomon and Axapta are Microsoft Business... Read More
MicroWorld Technologies, Inc. the leading solutions provider in the area... Read More
Microsoft Great Plains, designed back in 1990th as database transferable... Read More
Microsoft released Service Pack 2 (SP2) for the Windows XP... Read More
IBM Lotus Domino or Microsoft Exchange?The severe competition continues for... Read More
Software |