В предыдущей серии «Основы Java» обсуждались основные концепции Java, особенно основы объектно-ориентированного подхода. В Java Advanced я дополню основы Java и перейду на уровень приложений.
Большинство языков программирования могут обрабатывать строки. Строка представляет собой упорядоченный набор символов, например «Hello World!». В Java строки хранятся как объекты класса String. Вызов методов строковых объектов может реализовывать операции, связанные со строками.
Класс String включен в пакет java.lang. Этот пакет будет автоматически импортирован при запуске Java, поэтому его можно использовать как встроенный класс. Нам не нужно явно использовать импорт для представления класса String.
Создать строку
Ранее мы использовали классы для создания объектов. Следует отметить, что ключевое слово new не требуется для создания объекта класса String. например:
Скопируйте код кода следующим образом:
тест публичного класса
{
public static void main(String[] args)
{
String s = "Привет, мир!";
System.out.println(s);
}
}
Фактически, когда вы пишете выражение «Hello World», объект уже создается в памяти. Если вы используете new String("Hello World!"), строковый объект будет создаваться повторно.
Объект
Класс String — единственный класс, которому не требуется ключевое слово new для создания объектов. Нужно обратить внимание при использовании.
Строковые операции
Вы можете использовать + для объединения строк, например:
Скопируйте код кода следующим образом:
«абв» + с
Операции со строками в основном реализуются с помощью соответствующих методов работы со строками, например следующих методов:
Скопируйте код кода следующим образом:
Эффект метода
s.length() возвращает длину строки s
s.charAt(2) возвращает символ с индексом 2 в строке s.
s.substring(0, 4) возвращает подстроку с индексами от 0 до 4 в строке s.
s.indexOf("Hello") возвращает индекс подстроки "Hello"
s.startsWith(" ") определяет, начинается ли s с пробела
s.endsWith("oo") определяет, заканчивается ли s на "oo"
s.equals("Good World!") определяет, равно ли s значению "Good World!"
== может только определить, сохранена ли строка в том же месте. Вам нужно использовать методquals(), чтобы определить, одинаково ли содержимое строк.
s.compareTo("Hello Nerd!") сравнивает строку s с порядком "Hello Nerd!" в словаре,
Возвращает целое число. Если <0, это означает, что s стоит перед «Hello Nerd!»;
Если >0, это означает, что s стоит после «Hello Nerd!»;
Если ==0, это означает, что s равно «Hello Nerd!».
s.trim() удаляет пробельную строку до и после s и возвращает новую строку
s.toUpperCase() преобразует s в прописные буквы и возвращает новую строку
s.toLowerCase() преобразует s в нижний регистр и возвращает новую строку
s.replace("World", "Universe") заменяет "World" на "Universe" и возвращает новую строку.
неизменяемые объекты
Объекты класса String являются неизменяемыми объектами. Программисты не могут изменять существующие неизменяемые объекты. Мы также можем сами создавать неизменяемые объекты, если интерфейс не предоставляет методов для изменения данных.
Однако объекты класса String имеют функции для редактирования строк, такие как replace(). Эти функции редактирования реализуются путем создания нового объекта, а не изменения исходного объекта. например:
Скопируйте код кода следующим образом:
s = s.replace("Мир", "Вселенная");
Вызов s.replace() справа создает новую строку «Hello Universe!» и возвращает ссылку на этот объект. По назначению ссылка s будет указывать на новую строку. Если нет других ссылок на исходную строку «Hello World!», исходный строковый объект будет подвергнут сборке мусора.
неизменяемые объекты
Java API
Java предоставляет множество мощных пакетов. Важным аспектом изучения Java является понимание этих пакетов и содержащихся в них API (интерфейс прикладного программирования). Класс String определен в java.lang.String. Вы можете запросить следующий веб-сайт Oracle, чтобы найти официальную документацию этого класса:
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html
Этот документ содержит наиболее полное введение в класс String.
На самом деле, в документации API имеется обширный контент, обзор которого вы можете получить по ссылке ниже:
http://docs.oracle.com/javase/6/docs/api/