The JavaTM Tutorial

| Start of Tutorial > Start of Trail > Start of Lesson | Search Feedback Form

Trail: Learning the Java Language
Lesson: Object Basics and Simple Data Objects

## Creating Strings and StringBuffers

> A string is often created from a string literal--a series of characters enclosed in double quotes. For example, when it encounters the following string literal, the Java platform creates a `String` object whose value is `Gobbledygook`.

> >     "Gobbledygook"

> The `StringsDemo` program uses this technique to create the string referred to by the `palindrome` variable:

> >     String palindrome = "Dot saw I was Tod";

> You can also create `String` objects as you would any other Java object: using the `new` keyword and a constructor. The `String` class provides several constructors that allow you to provide the initial value of the string, using different sources, such as an array of characters, an array of bytes, or a string buffer.

> Here's an example of creating a string from a character array:

> >     char[] helloArray = { 'h', 'e', 'l', 'l', 'o' };
> >     String helloString = new String(helloArray);
> >     System.out.println(helloString);

> The last line of this code snippet displays: `hello`.

> You must always use `new` to create a string buffer. The StringsDemo program creates the string buffer referred to by dest, using the constructor that sets the buffer's capacity:

> >     String palindrome = "Dot saw I was Tod";
> >     int len = palindrome.length();
> >     StringBuffer dest = new StringBuffer(len);

> This code creates the string buffer with an initial capacity equal to the length of the string referred to by the name `palindrome`. This ensures only one memory allocation for `dest` because it's just big enough to contain the characters that will be copied to it. By initializing the string buffer's capacity to a reasonable first guess, you minimize the number of times memory must be allocated for it. This makes your code more efficient because memory allocation is a relatively expensive operation.

| Start of Tutorial > Start of Trail > Start of Lesson | Search Feedback Form

Copyright 1995-2001 Sun Microsystems, Inc. All rights reserved.