Strings and Related Classes String and character processing Class java.lang.String Class...

Preview:

Citation preview

Strings and Related Classes

• String and character processing Class java.lang.String Class java.lang.StringBuffer Class java.lang.Character Class java.util.StringTokenizer Class java.util.StringTokenizer

Fundamentals of Characters and Strings

• Characters “Building blocks” of Java source programs

• String Series of characters treated as single unit May include letters, digits, etc. Object of class String

• See API http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

String Constructors

• Class String provides eleven constructors String()

▴ Initializes a newly created String object so that it represents an empty character sequence.

String(byte[] bytes)▴ Constructs a new String by decoding the specified array of bytes using the

platform's default charset.

String(byte[] bytes, int offset, int length)▴ Constructs a new String by decoding the specified subarray of bytes using the

platform's default charset.

String(byte[] bytes, int offset, int length, String charsetName)▴ Constructs a new String by decoding the specified subarray of bytes using the

specified charset.

String(byte[] bytes, String charsetName)▴ Constructs a new String by decoding the specified array of bytes using the

specified charset.

String Constructors

String(char[] value)▴ Allocates a new String so that it represents the sequence of characters currently

contained in the character array argument.

String(char[] value, int offset, int count)▴ Allocates a new String that contains characters from a subarray of the character

array argument.

String(int[] codePoints, int offset, int count)▴ Allocates a new String that contains characters from a subarray of the Unicode

code point array argument.

String(String original)▴ Initializes a newly created String object so that it represents the same sequence of

characters as the argument; in other words, the newly created string is a copy of the argument string.

String(StringBuffer buffer)▴ Allocates a new string that contains the sequence of characters currently contained

in the string buffer argument.

String(StringBuilder builder)▴ Allocates a new string that contains the sequence of characters currently contained

in the string builder argument.

String Constructors

• See example in Figure 29.1 Uses 4 different constructors Note how jGRASP denotes literal Strings

String Methods length, charAt and getChars

• Method length Determine String length

▴ Like arrays, Strings always “know” their size▴ Unlike array, Strings do not have length instance variable

• Method charAt Get character at specific location in String

• Method getChars Get entire set of characters in String

• See example in Figure 29.2

Comparing Strings

• Comparing String objects Method equals Method equalsIgnoreCase Method compareTo Method regionMatches

• See example in Figure 29.3 == compares two Strings to see if they refer to the same object .equals() compares to Strings to see if they contain the same

value

Locating Characters and Substrings in Strings

• See examples in Figures 29.4 and 29.5

Extracting Substrings from Strings

• Create Strings from other Strings Method substring

• See example in Figure 29.6

Concatenating Strings

• + is a concatenation operator for Strings, although it is implemented using a StringBuffer

• Method concat concatenates two String objects• See example in Figure 29.7

Miscellaneous String Methods

• Miscellaneous String methods Return modified copies of String Return character array

• See example in Figure 29.8

String Method valueOf

• String provides static class methods Method valueOf

▴ Returns String representation of object, data, etc.

• See example in Figure 29.9

Class StringBuffer

• Class StringBuffer When String object is created, its contents cannot change Used for creating and manipulating dynamic string data

▴ i.e., modifiable Strings

Can store characters based on capacity▴ Capacity expands dynamically to handle additional characters▴ length is always <= capacity

Uses operators + and += for String concatenation

• See API http://java.sun.com/j2se/1.5.0/docs/api/java/lang/StringBuffer.html

StringBuffer Constructors

• Four StringBuffer constructors StringBuffer()

▴ Constructs a string buffer with no characters in it and an initial capacity of 16 characters.

StringBuffer(CharSequence seq)▴ Constructs a string buffer that contains the same characters as

the specified CharSequence.

StringBuffer(int capacity)▴ Constructs a string buffer with no characters in it and the specified

initial capacity.

StringBuffer(String str)▴ Constructs a string buffer initialized to the contents of the

specified string.

• See example in Figure 29.10

StringBuffer Methods length, capacity, setLength and ensureCapacity

• Method length Return StringBuffer length

• Method capacity Return StringBuffer capacity

• Method setLength Increase or decrease StringBuffer length

• Method ensureCapacity Set StringBuffer capacity Guarantee that StringBuffer has minimum capacity

• See example in Figure 29.11

StringBuffer Methods charAt, setCharAt, getChars and reverse

• Manipulating StringBuffer characters Method charAt

▴ Return StringBuffer character at specified index

Method setCharAt▴ Set StringBuffer character at specified index

Method getChars▴ Return character array from StringBuffer

Method reverse▴ Reverse StringBuffer contents

• See example in Figure 29.12

StringBuffer append Methods

• Method append Allow data values to be added to StringBuffer

• See example in Figure 29.13

StringBuffer Insertion and Deletion Methods

• Method insert Allow data-type values to be inserted into StringBuffer

• Methods delete and deleteCharAt Allow characters to be removed from StringBuffer

• See example in Figure 29.14

Wrapper Class Character

• Treat primitive variables as objects Type wrapper classes

• Boolean• Character• Double• Float• Byte• Short• Integer• Long

• See examples in Figures 29.15, 29.16, and 29.17

Class StringTokenizer

• Tokenizer Partition String into individual substrings Use delimiter Java offers java.util.StringTokenizer

• See example in Figure 29.18

Regular Expressions

• Sequence of characters and symbols• Defines a set of possible inputs, generalizes a

wildcard• Predefined set of strings

\d – any digit \D – any non-digit \w – any word character (letter, digit, underscore) \W – any non-word character \s – any whitespace character (space, tab, CR, LF, FF) \S – any non-whitespace character

Example Regular Expressions

• Square brackets can be used to match any enclosed character

• A range of characters can be specified using -• The complement can be created by using ^ as the

first character• Examples

[aeiou] will match any vowel [a-zA-Z] will match any letter [^aeiou] will match any non-vowel character

Example Regular Expressions

• * matches zero or more patterns• + matches one or more patterns• ? matches zero or one patterns• {n} matches exactly n patterns• {n,} matches up to n patterns• {n,m} matches between m and n patterns• () can be used to group specifications• | is an or for patterns• Examples

A+ and A* will match AAA [0-9]A* will match 1, [0-9]A+ will not; both match 1AAA

Class Pattern and Class Matcher

• Class Pattern An immutable regular expression

• Class Match A regular expression matching operation

• See exmaples in Figures 29.20, 29.21, 29.23, 29.24

Recommended