вопрос о функции charAt - PullRequest
0 голосов
/ 02 июня 2010

Я знаю, что функция java API charAt, например,

String  s="dato"
  char r=s.charAt(0); r is equal d

но мой вопрос в том, насколько реально это работает или какую функцию я могу использовать вместо функции charAt для получения того же результата? спасибо

Ответы [ 3 ]

0 голосов
/ 02 июня 2010

Нет "функции", есть только методы для объектов, один класс объектов - String, и этот класс предлагает charAt() для этой цели. Обратите внимание, что String аналогичен массиву char s или последовательности символов, и получение символа - это просто доступ к правильному индексу в этой последовательности.

Обратите внимание, что было бы возможно получить первый символ другими способами (например, преобразовать строку в массив или что-то еще), но это не имеет смысла.

0 голосов
/ 18 сентября 2015

Класс String представляет строки символов. Все строковые литералы в программах Java, такие как «abc», реализованы как экземпляры этого класса. Строки постоянны; их значения не могут быть изменены после их создания. Строковые буферы поддерживают изменяемые строки. Поскольку объекты String являются неизменяемыми, они могут использоваться совместно. Например:

 String str = "abc";

эквивалентно:

 char data[] = {'a', 'b', 'c'};

Шар

Возвращает значение char по указанному индексу. Индекс находится в диапазоне от 0 до length () - 1. Первое значение последовательности в индексе 0, следующее в индексе 1 и т. Д., Как для индексации массива.

Если значение символа, указанное индексом, является суррогатом, возвращается суррогатное значение.

Указано:

charAt в интерфейсе CharSequence

Параметры:

index - индекс значения символа.

Возвращает:

значение char по указанному индексу этой строки. Первое значение символа имеет индекс 0.

Выдает:

IndexOutOfBoundsException - если аргумент индекса отрицательный или не меньше длины этой строки.

0 голосов
/ 02 июня 2010

С какой целью? Я имею в виду, если charAt(0) делает то, что вы хотите, зачем искать что-то еще?

Но, чтобы ответить на ваш вопрос: нет, нет (достаточно простого) способа получить символ n th из строки в Java. Вы можете использовать String substring(...) метод, но он возвращает String, а не char.

Или сначала преобразуйте String в массив char с String toCharArray() и получите символ из массива, но это просто глупо, если в вашем распоряжении charAt(...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...