74
Лекция 4. Работа со строками в Java
Кратко о классе String
В Java строки представляют собой неизменяемую последовательность
символов Unicode. В отличие от представления в C / C ++, где строка является
просто массивом типа char,
любая Java, строка является объектом класса java.lang.
Однако Java строка, представляет собой в отличие от других используемых классов
особый класс, который обладает довольно специфичными характеристиками.
Отличия класса строк от обычных классов:
•
Java cтрока представляет из себя строку литералов (текст), помещенных в
двойные кавычки, например:
"Hello , World! ". Вы можете присвоить последовательность строковых литералов
непосредственно переменной типа String, вместо того чтобы вызывать
конструктор для создания экземпляра класса String.
•
Оператор '+' является перегруженным, для объектов типа String,
и всегда
используется, чтобы объединить две строки операндов. В данном контексте
мы говорим об операции конкатенации или сложения строк. Хотя '+' не
работает как оператор сложения для любых других объектов, кроме строк,
например, таких как Point и Circle.
•
Строка является неизменяемой, то есть, символьной константой. Это значит,
что ее содержание не может быть изменено после ее (строки как объекта)
создания. Например,
метод toUpperCase () – преобразования к верхнему
регистру создает и возвращает новую строку вместо изменения содержания
существующей строки.
Наиболее часто используемые методы класса String приведены ниже. Обратитесь
к API JDK для того чтобы ознакомиться с полным списком возможностей класса
String в java.lang.String.
//
длина
int length()
//
возвращает
длину
String
boolean isEmpty()
//
то
же
самое
thisString.length == 0
75
//
сравнение
boolean equals(String another)
//
НЕЛЬЗЯ
использовать
'=='
или
'!='
для
сравнения
объектов
String
в
Java
boolean equalsIgnoreCase(String another)
int compareTo(String another)
//
возвращает
0
если
эта
строка
совпадает
с
another;
// <0
если
лексикографически
меньше
another; or >0
int compareToIgnoreCase(String another)
boolean startsWith(String another)
boolean startsWith(String another, int fromIndex)
//
поиск
начинается
с
fromIndex
boolean endsWith(String another)
//
поиск
&
индесирование
int indexOf(String search)
int indexOf(String search, int fromIndex)
int indexOf(int character)
int indexOf(int
character, int fromIndex)
//
поиск
вперед
от
fromIndex
int lastIndexOf(String search)
int lastIndexOf(String search, int fromIndex)
//
поиск
назад
от
fromIndex
int lastIndexOf(int character)
int lastIndexOf(int character, int fromIndex)
//
выделение
char
или
части
строки
из
String (
подстрока
)
char charAt(int index)
//
позиция
от
0
до
(
длина
строки
-1)
String substring(int fromIndex)
String substring(int fromIndex, int endIndex)
// exclude
endIndex
//
создается
новый
String
или
char[]
из
исходного
(Strings
не
изменяются
!)
String toLowerCase()
//
преобразование
к
нижнему
регистру
String toUpperCase()
//
преобразование
к
верхнему
регистру
String trim()
//
создается
новый
String
с
помощью
удаления
пробелов
спереди
и
сзади
String replace(char oldChar, char newChar)
//
создание
нового
String
со
старым
oldChar
перемещается
посредством
буфера
newChar
String concat(String another)
//
то
же
самое
как
thisString
+
другое
char[] toCharArray()
//
создается
char[]
76
из
string
void getChars(int srcBegin,
int srcEnd, char[] dst, int
dstBegin)
//
копируется
в
массив
назначения
dst char[]
//
статические
методы
для
преобразования
примитивов
в
String
static String ValueOf(type arg)
//
тип
может
быть
примитивный
или
char[]
//
статические
методы
дают
форматированный
String
используя
спецификаторы
форматирования
static String format(String formattingString, Object... args)
//
так
же
как
printf()
//
регулярные
выражения
(JDK 1.4)
boolean matches(String regexe)
String replaceAll(String regexe, String replacement)
String replaceAll(String regexe, String replacement)
String[] split(String regexe)
//
0>
Достарыңызбен бөлісу: