Получение последнего символа строки в Java: детальный гайд

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для извлечения последнего символа из строки в Java стоит использовать выражение charAt(length() – 1):

Java
Скопировать код
char lastChar = "Coding".charAt("Coding".length() – 1); // Возвращает 'g'.
Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Детальный разбор строки и индексации символов

В Java Strings подсчёт индексов начинается с нуля. Это означает, что первый символ находится на позиции 0, а последний — на позиции length() – 1. Чтобы извлечь символ с определённой позиции, используйте метод charAt:

Java
Скопировать код
String phrase = "I love Java"; // Иные варианты неприемлемы.
// Длина строки равна 11, но последний символ расположен на 10 позиции.
char lastChar = phrase.charAt(phrase.length() – 1); // 'a'

Визуализация

Можно представить строку как гусеницу, где каждый символ — это сегмент:

Markdown
Скопировать код
Гусеница (Строка):      [C][A][T][E][R][P][I][L][L][A][R]
Последний сегмент (Символ):    [R] 🏁

Чтобы получить последний символ:

Java
Скопировать код
String caterpillar = "CATERPILLAR";
char lastSegment = caterpillar.charAt(caterpillar.length() – 1); // 'R'

Примечание: При создании этого примера не пострадало ни одной гусеницы!

Подробный анализ: альтернативные решения и частные случаи

Знакомство с методом substring

Метод substring многофункционален и идеален, если вам необходимо извлечь не только один последний символ, но и целую подстроку с конца:

Java
Скопировать код
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String lastChar = alphabet.substring(alphabet.length() – 1); // Возвращает 'Z', а не сон.

Проверка на пустую строку

Перед обработкой символов убедитесь, что строка не пуста. Это предотвратит появление исключения StringIndexOutOfBoundsException, которое может неожиданно возникнуть в коде.

Java
Скопировать код
if (!yourStringHere.isEmpty()) {
    char firstChar = yourStringHere.charAt(yourStringHere.length() – 1);
    // Поздравляем! Ваша строка не пуста!
}

Использование endsWith для проверки суффикса

Метод endsWith очень удобен, если вы хотите узнать, заканчивается ли строка на определённый символ:

Java
Скопировать код
String filename = "masterpiece.jpeg";
boolean isJPEG = filename.endsWith(".jpeg"); // Возвращает 'true'. Можете доверять мне!

takeLast: наш супергерой отсутствует, но мы можем его создать

Если бы в Java существовал метод takeLast, он бы позволял извлекать несколько последних символов строки. Пока такого метода нет, но вот пример того, как его можно реализовать:

Java
Скопировать код
public String takeLast(String str, int count) {
    if (str == null || str.isEmpty() || count <= 0) {
        return ""; // Пусть будет 'пустая строка'!
    }
    if (count > str.length()) {
        return str; // Возвращаем всё, что у нас есть!
    }
    return str.substring(str.length() – count); // Вот так находим сокровища!
}

Полезные материалы

  1. String (Java Platform SE 8)официальная документация Java по методу charAt().
  2. Чем отличаются итератор и итерируемый объект и как ими пользоваться? — Stack Overflow — хоть и не так многое здесь сказано о извлечении последнего символа, но ответы Stack Overflow всегда полезны.
  3. Использование метода substring в Java — мастер-класс по методу substring.
  4. Класс Strings в Java — всё, что вы хотели знать о строках в Java, включая charAt().
  5. Educative Answers — подтвержденные решения для вопросов разработчиков — детальное изучение темы получения подстрок в Java.
  6. Пример использования метода charAt() в Java — пример практического использования метода Java String charAt() кому необходим ключ в руки.