Software Information

String in Java


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


MORE RESOURCES:

Callidus Software Slips To Wider Q4 Loss
NASDAQ
(RTTNews.com) - Callidus Software Inc. (CALD) reported a fourth-quarter net loss of $3.6 million or $0.11 per share, wider than last year's loss of $1.5 million or $0.04 per share. Last year, results included $1.4 million of stock-based compensation ...
Callidus Software Announces Fourth Quarter and Full Year 2011 ResultsMarketWatch (press release)
Callidus Software, Inc. (CALD) Reports In-Line Q4 EPS; Guides Q1 RevsStreetInsider.com (subscription)

all 12 news articles »


Moxie Software Sponsors Free, Live Webinar on Canon's Best Practices for Field ...
MarketWatch (press release)
Moxie Software, Inc., the Enterprise Social Software Company, today announced it is sponsoring a free, live webinar discussing Canon's Best Practices for Field Service: The New Face of Customer Satisfaction. John Ragsdale, TSIA's vice president of ...

and more »


Guidance Software stock jumps after strong 4Q
CBS News
(AP) NEW YORK — Shares of Guidance Software Inc. rose to their highest level in more than three years Wednesday on strong fourth-quarter results and an upbeat outlook. THE SPARK: After the market closed on Tuesday, Guidance reported net income of $2.3 ...
Guidance Software to Acquire CaseCentralBusiness Wire (press release)
Guidance Software buys CaseCentral for eDiscovery one-two punchFierceContentManagement
Guidance Software Acquires CaseCentralsocalTech.com
Los Angeles Business Journal
all 9 news articles »


Marin Software Promotes Brian Marin and Ed Stevenson to Global Positions
MarketWatch (press release)
SAN FRANCISCO, CA, Feb 08, 2012 (MARKETWIRE via COMTEX) -- Marin Software, provider of the leading online advertising management platform for advertisers and agencies, today announced the promotions of Brian Marin to Vice President, Global Services and ...

and more »


Latitude Software and PaymentVision Offer Integrated Debt Collection and ...
MarketWatch (press release)
GAITHERSBURG, Md., Feb 08, 2012 (BUSINESS WIRE) -- Latitude Software, an Interactive Intelligence Group Inc. company /quotes/zigman/5694010/quotes/nls/inin ININ +0.25% , and PaymentVision have partnered to offer an integrated debt collection and ...

and more »


BMC Software Sells $500 Mln 10-Yr Bonds at 4.316%
Wall Street Journal
By Patrick McGee Of DOW JONES NEWSWIRES NEW YORK (Dow Jones)--BMC Software Inc. (BMC) completed a $500 million sale of 10-year bonds in the US credit markets Wednesday, according to a person familiar with the deal. The 4.25% coupon bonds were priced to ...

and more »


Jive Software Q4 Loss Widens Despite Higher Revenues - Update
NASDAQ
(RTTNews.com) - Enterprise social networking company Jive Software Inc. (JIVE) on Tuesday reported a loss for the fourth quarter that widened from last year as higher costs and expenses offset strong revenue growth. The latest quarterly results are the ...
Jive Software to Present at the Goldman Sachs Technology & Internet Conference ...MarketWatch (press release)
Jive Software reports fourth-quarter lossSan Francisco Chronicle
Jive Financials Show Social Software MomentumInformationWeek
Forbes -TalkinCloud (blog) -RTT News
all 52 news articles »


iWay Software and UBM Global Trade Partner to Automate Legacy Processes for ...
MarketWatch (press release)
NEW YORK, NY, Feb 08, 2012 (MARKETWIRE via COMTEX) -- iWay Software from Information Builders, an innovator of enterprise integration solutions, today announced that UBM Global Trade, a worldwide provider of proprietary data, news, and other content ...

and more »


Oracle Debuts Analytical Software For 'Big Data' Tasks
CRN
By Rick Whiting, CRN Oracle is adding to its "Big Data" product lineup, bundling its Oracle R Enterprise software with its Oracle Data Mining toolset in a move the company said will make it easier for businesses to analyze increasingly huge volumes of ...

and more »


GigaOm

Akamai Acquires Website Performance Company Blaze Software
TechCrunch
After scooping up rival Cotendo for $268 million recently, content delivery and web services giant Akamai is making another acquisition today—Blaze Software. Blaze's technology helps accelerate speed of Websites, and optimizes load times while cutting ...
Akamai scoops up Canadian software outfitBoston Herald
Akamai Technologies Buys Blaze Software - Quick FactsNASDAQ
Akamai Acquires Venture-Backed Blaze SoftwareTechFinance
Xconomy -Sacramento Bee
all 89 news articles »

Google News

Home | Site Map

Powered By: Free Work At Home Business Opportunity!

© 2006