Чтение онлайн

на главную - закладки

Жанры

Визуальное программирование на Java Swing в NetBeans
Шрифт:

Основные методы динамических строк:

– append(A) – преобразовать A в строку и добавить в конец;

– insert(int offset, A) – преобразовать A в строку и вставить ее в указанную позицию;

– delete(int start, int end) – удалить символы с указанной начальной позиции по указанную конечную позицию;

– reverse – расположить символы в обратном порядке;

– setCharAt(int index, char ch) – заменить символ в указанной позиции;

– setLength(int newLength) – установить новый размер строки;

– substring(int start) –

вернуть подстроку с указанной позиции и до конца как строку;

– substring(int start, int end) – вернуть подстроку как строку;

– deleteCharAt(int index) – удалить символ в указанной позиции;

– getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) – сохранить последовательность символов в массив;

– indexOf(String str) – поиск первого вхождения подстроки;

– indexOf(String str, int fromIndex) – поиск первого вхождения подстроки с указанной позиции;

– lastIndexOf(String str) – поиск последнего вхождения подстроки;

– lastIndexOf(String str, int fromIndex) – поиск последнего вхождения подстроки с указанной позиции;

– replace(int start, int end, String str) – замена участка строки указанной строкой.

Пример преобразования строк. В этом примере массив символов и целое число преобразуются в объекты типа String с использованием методов этого класса:

package tsn01.string;

public class TSN01_String {

public static void main(String[] args) {

char s[] = {'J', 'a', 'v', 'a'}; // Массив символов

String str = new String(s); // str="Java"

if (!str.isEmpty) {

int i = str.length; // i=4

str = str.toUpperCase; // str="JAVA"

String num = String.valueOf(6); // num="6"

num = str.concat("-" + num); // num="JAVA-6"

char ch = str.charAt(2); // ch='V'

i = str.lastIndexOf('A'); // i=3 (-1 если нет)

num = num.replace("6", "SE"); // num="JAVA-SE"

str.substring(0, 4).toLowerCase; // java

str = num + "-6";// str="JAVA-SE-6"

String[] arr = str.split("-");

for (String ss : arr) { // В результате будет выведен массив строк (в 3 строчки): JAVA SE 6

System.out.println(ss);

}

} else { System.out.println("String is empty!"); }

}

}

Пример сравнение строк. В этом примере рассмотрены особенности хранения и идентификации объектов на примере вызова метода equals, сравнивающего строку String с указанным объектом и метода hashCode, который вычисляет хэш-код объекта (hashCode – это цифра, которая формируется для объекта по какому то правилу, например для объекта класса String по такой формуле: s[0]*31^(n-1) s[1]*31^(n-2) … s[n-1]):

package tsn01.string;

public class TSN01_String {

public static void main(String[] args) {

String s1 = "Java";

String s2 = "Java";

String s3 = new String("Java");

System.out.println(s1 + "==" + s2 + " : " + (s1 == s2)); // true

System.out.println(s1 + "==" + s3 + " : " + (s1 == s3)); // false

System.out.println(s1 + " equals " + s2 + " : " + s1.equals(s2)); // true

System.out.println(s1 + " equals " + s3 + " : " + s1.equals(s3)); // true

System.out.println(s1.hashCode);

System.out.println(s2.hashCode);

System.out.println(s3.hashCode);

}

}

В

результате на экран будет выведено:

Java==Java : true

Java==Java : false

Java equals Java : true

Java equals Java : true

2301506

2301506

2301506

Пример сортировки массива строк методом перебора:

package tsn01.string;

public class TSN01_String {

public static void main(String[] args) {

String a[] = {" Alena", "Alice ", " alina", " albina", " Anastasya",

" ALLA ", "AnnA "}; // Массив строк

for (int j = 0; j < a.length; j++) { // Цикл по массиву строк

// Удаляем пробелы с концов строк и приводим к верхнему регистру

a[j] = a[j].trim.toLowerCase;

}

// Сортировка строк методом пузырька

for (int j = 0; j < a.length – 1; j++) { // Цикл по массиву строк

for (int i = j + 1; i < a.length; i++) { // Цикл по массиву строк

if (a[i].compareTo(a[j]) < 0) { // Сравнение строк

String temp = a[j]; a[j] = a[i]; a[i] = temp; // Обмен значений в массиве строк

}

}

}

int i = -1;

while (++i < a.length) { System.out.print(a[i] + " "); } // Вывод массива строк на экран

}

}

В результате на экран будет выведено:

albina alena alice alina alla anastasya anna

Вызов метода trim обеспечивает удаление всех начальных и конечных символов пробелов. Метод compareTo выполняет лексикографическое сравнение строк между собой по правилам Unicode.

Пример работы с динамическими строками. Рассмотрим пример преобразования переменной типа «StringBuilder» к «String» через метод toString:

package tsn01.string;

public class TSN01_String {

public static void main(String[] args) {

StringBuilder s = new StringBuilder("abcd");

s.append('e');//abcde

s.delete(1, 2);//acde

s.insert(1, 'b');//abcde

s.deleteCharAt(2);//abde

String ans = s.toString;

System.out.println(ans); // На экран выведется "abde"

Поделиться:
Популярные книги

Старый, но крепкий

Крынов Макс
1. Культивация без насилия
Фантастика:
рпг
уся
попаданцы
5.00
рейтинг книги
Старый, но крепкий

Хозяин Теней 7

Петров Максим Николаевич
7. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Хозяин Теней 7

Кодекс Охотника. Книга XXIX

Винокуров Юрий
29. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XXIX

На границе империй. Том 10. Часть 3

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 3

Наномашины, первоклашка! Том 4

Новиков Николай Васильевич
4. Чего смотришь? Иди книгу читай
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наномашины, первоклашка! Том 4

Сапер

Вязовский Алексей
1. Сапер
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.29
рейтинг книги
Сапер

Наследие Маозари 2

Панежин Евгений
2. Наследие Маозари
Фантастика:
попаданцы
рпг
аниме
5.00
рейтинг книги
Наследие Маозари 2

Эйзенштейн

Шкловский Виктор Борисович
Жизнь в искусстве
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Эйзенштейн

Хозяин Стужи 8

Петров Максим Николаевич
8. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Хозяин Стужи 8

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Страж Тысячемирья

Земляной Андрей Борисович
5. Страж
Фантастика:
боевая фантастика
альтернативная история
фэнтези
5.00
рейтинг книги
Страж Тысячемирья

Матабар VIII

Клеванский Кирилл Сергеевич
8. Матабар
Проза:
магический реализм
5.00
рейтинг книги
Матабар VIII

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Хозяин Стужи 3

Петров Максим Николаевич
3. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
7.00
рейтинг книги
Хозяин Стужи 3