Software informational articles

Filament in java - software


Handling appeal strings in Java is supported by means of two final classes: Chain and StringBuffer. The Filament class equipment absolute creature strings, which are read-only once the cord has been formed and initialized, but the StringBuffer class apparatus dynamic creature strings. All line literals in Java programs, are implemented as instances of Line class. Strings in Java are 16-bit Unicode.

Note : In JDK 1. 5+ you can use StringBuilder, which works accurately like StringBuffer, but it is earlier and not thread-safe

The easiest way of creating a Cord article is using a line literal:

String str1 = "I cant be misused once created!";

A cord literal is a citation to a Cord object. Since a cord literal is a reference, it can be manipulated like any other Chain reference. i. e. it can be used to invoke methods of Cord class.

For example,

Int myLength = "Hello world". length();

The Java foreign language provides elite aid for the chain concatenation hand ( + ), which has been overloaded for Strings objects. Cord concatenation is implemented all the way 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 management of line literals. Only one Line article is collective by all cord having same appeal sequence. Such strings are said to be interned, connotation that they share a distinctive Line object. The Cord class maintains a clandestine 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 Filament bits and pieces are immutable. Any company performed on one Chain character reference will never have any appearance on other references denoting the same object.


String class provides a number of types of constructors to coin Filament objects. Some of them are,


Creates a new Chain aim whose contented is empty i. e. "".

String(String s)

Creates a new Chain be against whose at ease is same as the Filament article agreed as an argument.

Note: Constructor creates a new chain means it does not confine the String. Captive Cord aim citation can be obtained by using intern() approach of the Line class

String also provides constructors that take byte and char array as claim and proceeds Chain object.

String equality

String class overrides the equals() fashion of the Be against class. It compares the at ease of the two filament aim and takings 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");


System. out. println("Not Equal 1");

If(str1 == str3)

System. out. println("Equal 2");


System. out. println("I am constructed using constructor, hence

not interned");

If( str1. equals(str3) )

System. out. println("Equal 3");


System. out. println("Not Equal 3");

The output would be,

Equal 1

Not Equal 2

Equal 3

Note that == compares the references not the concrete stuffing of the Chain object; Where as equals fashion compares authentic filling of two Chain objects.

String class also provides an added logic equalsIgnoreCase() which ignores the case of filling while comparing.

Apart from these methods Cord class also provides compareTo methods.

int compareTo(String str2)

This logic compares two Strings and income an int value. It profits value 0, if this line is equal to the cord contention a value less than 0, if this line is less than the line argument

a value superior than 0, if this line is bigger than the string argument

int compareTo(Object object)

This approach behaves closely like the first approach if the disagreement article is essentially a Cord object; otherwise, it throws a ClassCastException.

String Manipulations

Reading font from String:

char charAt(index i)

Returns char at one index. An index ranges from 0 to length() -1.

Searching typeset in String

String class provides indexOf fashion which searches for the individual charm confidential the filament object. This approach has been overloaded. If the hunt is successful, then it takings the index of the char or else -1 is returned.

int indexOf(int c)

Returns the index of first occurrence of the case char.

int indexOf(int c, int fromIndex)

Finds the index of the first occurrence of the case charm in a string, early at the index one in the be with argument.

int indexOf(String str)

Finds the start index of the first occurrence of the substring disagreement in a String.

int indexOf(String str, int fromIndex)

Finds the start index of the first occurrence of the substring case in a String, first at the index individual in the be with argument.

The Line class also provides methods to exploration for a appeal or filament 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 typescript in String

The interchange approach of Filament can be used to put back all occurrences of the precise charm with given character.

String replace(char oldChar, int newchar)

Getting substrings

String class provides substring fashion to extort individual portion of the given String. This approach has been overloaded.

String substring(int startIndex)

String substring(int startIndex, int endIndex)

Note: A new Filament be against containing the substring is bent and returned. The earliest Chain won't be affected.

If the index value is not valid, a StringIndexOutOfBoundsException is thrown.


String class provides set of static overloaded valueOf fashion to alter primitives and article into strings.

static Chain valueOf(Object obj)

static Filament valueOf(char[] character)

static Line valueOf(boolean b)

static Line valueOf(char c)

static Chain valueOf(int i)

static Cord valueOf(long l)

static Chain valueOf(float f)

static Filament valueOf(double d)

Manipulating Charm Case

String class provides next methods to manipulate charm case in String.

String toUpperCase()

String toUpperCase(Locale locale)

String toLowerCase()

String toLowerCase(Locale locale)

Note : Earliest Cord aim is returned if none of the typescript changed, if not new Line be against is constructed and returned.

Miscellaneous methods

String trim()

This fashion removes white space from the front and the end of a String.

int length()

Returns distance end to end of the String.

String intern()

This approach income behind bars Chain object, if before now at hand in the Line pool. Or else this Chain is added into the pool, and then behind bars good word is returned.

Rahim Vindhani
Application Develper [Application Education & Webservices]
IBM Inclusive Services, pune, India
email: rahim. vindhani@gmail. com
web: http://www. rahim. co. nr

Developed by:
home | site map © 2018